免费注册
帮助文档(华北一、二)
应用场景
  • 1. 缓存

    Redis的性能优于Memcache,且数据结构更多样化,支持多种过期淘汰策略;更重要的是支持持久化,持久化策略丰富。

    2. 计数,生成唯一ID

    Redis的命令都是原子性的,可以轻松地利用INCR,DECR命令来构建计数器系统。同理,可以用INCR命令,为游戏玩家生成唯一的ID。

    3. 排行榜应用,取TOP N操作

    游戏服务器中涉及到很多排行信息,取TOP N操作,比如玩家等级排名、金钱排名、战斗力排名等,虽然通过关系数据库也可以实现,但是随着数据量增多,数据库的排序压力就会变大。

    这些操作对于Redis来说都很简单,即使你有几百万个用户,每分钟都会有几百万个新的得分。

    只需要jedis.zrevrank(key,member);

    4. 构建队列系统

    通过使用list的lpop及lpush命令进行队列的写入和消费,可以轻松实现消息队列;由于它是独立于游戏服务器的,所以多个游戏服务器可以通过它来交换数据、发送事件,通过使用sorted set,甚至可以构建有优先级的队列系统。

    5. 取最新N条评论

    6. 存储社交关系

    譬如将用戶的好友/粉丝/关注,可以存在一个set中,这样求两个人的共同好友的操作,只需要用sinter交集命令即可;也可以进行并集,差集操作。

    7. 构建实时消息系统

    Redis的Pub/Sub系统可以构建实时的消息系统,比如很多开发人员用Pub/Sub构建实时聊天系统。

    8. 事务处理

    用户可以使用MULTI,EXEC,DISCARD,WATCH,UNWATCH指令用来执行原子性的事务操作。

    9. 基数统计功能

    Redis HyperLogLog 实现了基数统计功能,方便统计一组不同元素且数量很大的数据集,且只耗费很小的空间。如统计网站每天访问的独立IP数量;使用PFADD和PFCOUNT,可以轻松实现。