Redis 是一个高性能的key-value数据库。 redis的出现,很大程度上补偿了memcached这类key-value存储的不足,在部分场合可以对关系数据库起到很好的补充作用。 它提供了Python,Ruby,Erlang,PHP客户端,使用很方便。 由于游戏服务器数据更新频繁,如果每次读写数据会造成读写数据库的压力大,效率低。 一般使用redis的场景如下:
首先,程序先去redis中判断数据是否存在:
适用场合:如果数据量比较大,但不是经常更新的情况(比如用户排行)。 此外,redis的使用还有以下场景:
首先先去redis中判断数据是否存在:
优点:这个流程的主要目的是把Redis当作数据库使用,更新获取数据比DB快。非常适合大数据量的频繁变动(比如用户游戏数据)。 缺点:对Redis的依赖很大,要做好宕机时的数据保存。(不过可以使用redis的快照AOF,快速恢复的话,应该不会有多大影响,因为就算Redis不工作了,也不会影响后续数据的处理。) 难点:在前期规划key的格式,存储类型很重要,因为这会影响能否把数据同步到DB。 其中第二种方式是游戏服务器中经常使用的方式,例如将用户的游戏数据以hashset的形式存储到redis中,实时更新效率比访问数据库的效率高。根据定时任务将更新的数据存入数据库中,做到永久保存。 |
| 本文出处: http://www.toutiao.com/a6426867344941613313/ |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|