- 博客(6)
- 收藏
- 关注
原创 Redis实战系列(6) 利用lua对redis特定类型元素的list进行分段
只对排序的数字list进行分段存取,性能上有所下降,但是没有测试下降多少list_add.lualocal config = redis.call('config','get','list-max-ziplist-entries')local maxzipNum=tonumber(config[2])local metainfo=KEYS[1]..':split:met
2012-06-07 14:19:48 3294
原创 Redis实战系列(5) phpredis的brpop问题
使用phpredis的brPop实现消息队列时,发现每隔3秒便会出现read error on connection,而brPop的timeout参数是58,也就是默认的php socket超时时间减去2。redis server的timeout已经是0。 php的default_socket_timeout=-1,但是还是3秒的周期出现异常。最后发现是connect时传入了timeout=3,将
2012-06-07 14:18:56 2169 2
原创 Redis实战系列(5) phpredis的brpop问题
使用phpredis的brPop实现消息队列时,发现每隔3秒便会出现read error on connection,而brPop的timeout参数是58,也就是默认的php socket超时时间减去2。redis server的timeout已经是0。 php的default_socket_timeout=-1,但是还是3秒的周期出现异常。最后发现是connect时传入了timeout=3,将
2012-06-07 14:18:55 8191 1
原创 Redis实战系列(4) key的设计
Redis实战系列(4) key的设计我们的业务是内部微博,主要模块有 用户信息、微博信息、我关注的人、我的粉丝、我关注的人发布的微博、我发布的微博,还有类似sina微博的小黄签之类的提醒功能。key的设计如下:1.用户信息 用户信息是离散,因此用hashtable来存储以用户的user_id为key。实例 user:info:$user_id 其中$user_id是动态的变量 use
2012-06-05 16:13:32 4872
原创 Redis实战系列(3) 使用hashtable和hash-max-zipmap-entries优化内存使用
在我的系统中大约有50000个用户,每个用户有nickname1、nickname2、nickname3、nickname4、profile_id。对于上面几个属性来说,每个用户都是唯一的,而用户信息大概有70个字段。我用user:info:$profile_id作为一个hashtable的key来存储一个用户的所有信息。而系统要求能用nickname1、nickname2、nickname3、n
2012-06-02 15:12:58 10867 1
原创 Redis实战系列(2) 使用List结构构造高效的队列系统
Redis 提供了brpop blpop brpoplpush三个阻塞命令来监听一个List数据结构。下面是php脚本server.php$redis = new Redis();$redis->connect('127.0.0.1');while(true){ $data = $o->brpop(array('key1','key2'), 30); var_dump($data
2012-06-01 11:39:55 10958
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人