redis使用场景


不要放冷数据

首先,对于冷数据,无论大小,都不建议放在 Redis 中。Redis 数据要全部放在内存中,资源宝贵,把冷数据放在其中实在是一种浪费,冷数据放在普通的存储比如关系数据库中就好了。

冷数据的例子
1.网站的文章
2.几万年不变的数据

放热数据

尤其是写频繁的热数据,如果量比较小,是最适合放到 Redis 中的。

热数据的例子
1.用户注册数
2.文章阅读量
3.热度排行榜
4.用户订阅量

一个游戏,用户分数存储结构

    ZADD leaderboard <score> <username>

例子:一个在线游戏你会需要
1.前100名高手榜
ZREVRANGE leaderboard 0 99
2.某一个用户在游戏的实时排名

ZRANK leaderboard <username>

3.强大的计数功能
这要感谢INCRBY和其他相似命令。

INCR user: EXPIRE
    user: 60

特定时间内的特定项目
比如文章阅读量,不停被用户刷新啊。
另一项对于其他数据库很难,但Redis做起来却轻而易举的事就是统计在某段特点时间里有多少特定用户访问了某个特定资源。比如我想要知道某些特定的注册用户或IP地址,他们到底有多少访问了某篇文章。
每次我获得一次新的页面浏览时我只需要这样做:
    SADD page:day1:
当然你可能想用unix时间替换day1,比如time()-(time()%3600*24)等等。
想知道特定用户的数量吗?只需要使用SCARD page:day1:
需要测试某个特定用户是否访问了这个页面?SISMEMBER page:day1:

总之,任何小数据,且变动极其频繁的数据,比较适合存储在redis

如果你是一名技术人员可加我QQ 2651-0442-02,如果你是java技术人还可以加入QQ群 1784-9136-0
你将得到的不仅仅是技术的交流,还有职业机会,人生解惑.
首发地址:月小升博客http://java-er.com/blog/redis-when-use/
无特殊说明,文章均为月小升原创,欢迎转载,转载请注明本文地址,谢谢
此条目发表在 JAVA, 数据库 分类目录,贴了 , 标签。将固定链接加入收藏夹。
既然来了,就评论一下,不会怀孕的

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">