怎么使用redis保存最新评论。比如20条,求个案例。

鱼龙帅 发布于 2013/09/25 10:46
阅读 2K+
收藏 1
怎么使用redis保存最新评论。比如20条,求个案例。
加载中
0
阿水plus
阿水plus
比如典型的取你网站的最新文章,通过下面方式,我们可以将最新的 5000 条评论的 ID 放在
Redis 的 List 集合中,并将超出集合部分从数据库获取。
使用 LPUSH latest.comments<ID>命令,向 list 集合中插入数据
插入完成后再用 LTRIM latest.comments 0 5000 命令使其永远只保存最近 5000 个 ID

然后我们在客户端获取某一页评论时可以用下面的逻辑


FUNCTION get_latest_comments(start,num_items): 
id_list = redis.lrange("latest.comments",start,start+num_items-1)
IF id_list.length < num_items
id_list = SQL_DB("SELECT ... ORDER BY time LIMIT ...")
END
RETURN id_list

END


如果你还有不同的筛选维度,比如某个分类的最新 N 条,那么你可以再建一个按此分类的

List,只存 ID 的话,Redis 是非常高效的。

书上copy来的一段,供你参考


撸红薯
撸红薯
删除吧
常氏孤儿
常氏孤儿
回复 @阿水plus : 哥,我知道京东上有卖讲redis的书,我是想问具体是那一本啊?!
阿水plus
阿水plus
回复 @常氏孤儿 : 京东上有卖讲Redis的书
常氏孤儿
常氏孤儿
哪本书有介绍这样的啊?我想买一本读!
0
强子大叔的码田
强子大叔的码田
或者考虑直接开辟一个20个成员的数组,每次添加进去插入到头,就可以了。
返回顶部
顶部