首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

Redis下令参考中文版(Redis Command Reference)

2012-07-02 
Redis命令参考中文版(Redis Command Reference)Redis命令参考中文版,翻译自Redis Command Reference。??所

Redis命令参考中文版(Redis Command Reference)

Redis命令参考中文版,翻译自Redis Command Reference。?

?

所有命令已经翻译完毕!

?

阅读地址:?http://redis.readthedocs.org/?


欢迎反馈。


update 2011.10.23


本文档现在已经支持 Redis 2.4 版本了,enjoy!

?

update 2011.12.17


原本剩下的四个部分也已经译完,全文翻译完毕!


A:好的,收到。

接着,A返回接收到的信息,然后继续工作。

A:“hello world”

现在看看,如果将MULTI/EXEC包裹BLPOP,并且REDIS没有对BLPOP进行特殊处理的话,会怎么样。

依旧是两个客户端A和B,服务器叫做Redis,但是这次,A调用BLPOP之前用MULTI包裹自己。

A:MULTI
A:BLPOP
A:等等等

这会发生什么事情?就是因为A要求事务操作,而对服务器加了锁,Redis会阻止其他客户端进行任何操作。

B:嘿,哥们,有个信息。

B ————》 尝试发送信息“good morening”  ————》 失败

Redis:嘿,你哥们正忙着呢,你再等等吧。

B:等等等。。。

Redis:我锁,我锁,我锁锁锁。。。

A:等等等。。。

于是无限循环就这样形成了。

因此,为了防止发生上面的情况,redis将MULTI/EXEC包裹内的BLPOP当作LPOP来对待,这样就不会造成服务器阻塞了。

这里官方文档有一个遗漏的地方,如果BLPOP的列表不为空的话,并不会返回nil,而是像LPOP一样返回列表的值,这里我得改改。

欢迎继续反馈。

:)# 情况1:对非空列表进行操作redis> RPUSH job programming(integer) 1redis> MULTIOKredis> BLPOP job 30QUEUEDredis> EXEC # 不阻塞,立即返回1) 1) "job" 2) "programming"# 情况2:对空列表进行操作redis> LLEN job # 空列表(integer) 0redis> MULTIOKredis> BLPOP job 30QUEUEDredis> EXEC # 不阻塞,立即返回1) (nil)

这样应该比较好理解了。

所有修改可以见这里:
https://github.com/huangz1990/redis/commit/69431f5594f0f41a41675ab51309a38f512b00c4 8 楼 fisk 2011-09-01   谢谢你的幽默的解释哈 9 楼 huangz 2011-09-02   @fisk 不客气。 10 楼 techdo 2011-12-07   能不能有PDF版本啊 11 楼 huangz 2011-12-07   techdo 写道能不能有PDF版本啊

hi,techdo, PDF 版本可以通过 LATEX 的相关命令和设置来生成,但是我最近有些忙,这两个月实在是抽不出时间来研究它了。

如果你很急着用的话,我可以给你发一个本地的HTML版本,这样就不用上网也可以看了,如果需要的话,就留下你的邮箱。

:)

热点排行