Bump的Redis应用经验
by
at 2011-07-18 15:49:28
original http://blog.nosqlfan.com/html/2460.html
来自: NoSQLfan - FeedzShare
发布时间:2011年07月17日, 已有 3 人推荐
这里说的Bump就是那个手机碰一碰就能交换信息的app,本文来自Bump的开发者博客,他们描述了自己使用Redis的几种方法,以及在使用过程中的一些经验,包括与MongoDB同机部署的一些问题,NoSQLFan转译如下,详细描述可移步原文
1.将Redis用作消息队列
采用的当然是Redis的List数据结构,而实际上NoSQLFan之前还讨论过采用sorted sets结构来做带权重的消息队列的方法。
2.将Redis用作日志收集器
实际上还是一个队列,多个端点将日志信息写入Redis,然后一个worker统一将所有日志写到磁盘。
3.存储社交关系
比如将每个人的好友存在一个集合(set)中,这样求两个人的共同好友的操作,可能就只需要用求交集命令即可。
4.用作缓存层
用来做持久化存储的缓存,和Memcached一样,可以在持久化存储获取成功后将数据在Redis中进行缓存,我们知道,Redis的性能优于Memcached。
5.关于持久化
用作持久存储的时候,可以选择定时flush成rdb或开启aof日志的做法,具体选择哪一种,可以根据业务上可接受的数据可靠程度而定。
6.与MongoDB一起使用的问题
一个提醒,在Bump早期,曾将Redis和MongoDB放在同一台机器,而由于Redis的单线程,常由于MongoDB对于CPU或磁盘IO的占用而导致其某个过程(比如malloc或者写aof)执行时间过长,从而进一步导致其所有操作被阻塞并延迟,所以尽量不要将其用于可能被大量占用CPU或磁盘IO,导致Redis工作线程被阻塞的场合。
您可能还喜欢: | ||||
Redis命令参考中文版翻译 |
foursquare 的数据分析系统(Hadoop+Hive+Redis+MongoDB) |
Redis 测试引擎将升级提速 |
非同一般的Redis介绍 |
REDIS TO GO:一个Redis存储服务 |
无觅 |