码迷,mamicode.com
首页 > 其他好文 > 详细

redis ruby客户端学习(五)

时间:2015-01-11 17:40:38      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:

一,redis是支持事务的,请看这篇介绍

下面介绍几个ruby实现的命令,multi,exec,discard,watch,unwatch。

1,multi:标记一个事务块开始,exec:执行所有 MULTI 之后发的命令

require Redis
r = Redis.new
r.set a, 1
r.set b, 2

r.multi
r.set a, 3
r.set b, 6
r.exec

#r.get ‘a‘
#=> "3"
#r.get ‘b‘
# => "6"  

2,discard:丢弃所有 MULTI 之后发的命令

require Redis
r = Redis.new
r.set a, 1
r.set b, 2

r.multi
r.set a, 3
r.set b, 6
r.discard
#r.get ‘a‘
#=> "1"
#r.get ‘b‘
# => "2"  

3,watch:锁定key直到执行了 MULTI/EXEC 命令

watch会检查时给定的key,如果从开始watch的时候,到执行exec的时候。所监视的key发生了变化,整个事务就会失败。

假设两个redis链接分别为r1和r2。

require Redis
r1 = Redis.new
r1.set a, 1
r1.set b, 2

r1.multi
r1.set a, 3
r1.set b, 6
#r2中改变a的值后,执行exec
r1.exec
#r1.get ‘a‘
#=> "1"
#r1.get ‘b‘
# => "2"  
require Redis
r = Redis.new
r.set a, 100

4,unwatch:

刷新一个事务中已被监视的所有key。重新开始watch

redis中事务和mysql中事务的区别

事务中出现错误时,整个事务中的操作是不会回滚的

redis ruby客户端学习(五)

标签:

原文地址:http://www.cnblogs.com/fanxiaopeng/p/4216692.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!