首页 > 代码库 > redis ruby客户端学习(五)
redis ruby客户端学习(五)
一,redis是支持事务的,请看这篇介绍。
下面介绍几个ruby实现的命令,multi,exec,discard,watch,unwatch。
1,multi:标记一个事务块开始,exec:执行所有 MULTI 之后发的命令
require ‘Redis‘r = Redis.newr.set ‘a‘, 1r.set ‘b‘, 2r.multir.set ‘a‘, 3r.set ‘b‘, 6r.exec#r.get ‘a‘#=> "3"#r.get ‘b‘# => "6"
2,discard:丢弃所有 MULTI 之后发的命令
require ‘Redis‘r = Redis.newr.set ‘a‘, 1r.set ‘b‘, 2r.multir.set ‘a‘, 3r.set ‘b‘, 6r.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.newr1.set ‘a‘, 1r1.set ‘b‘, 2r1.multir1.set ‘a‘, 3r1.set ‘b‘, 6#r2中改变a的值后,执行execr1.exec#r1.get ‘a‘#=> "1"#r1.get ‘b‘# => "2"
require ‘Redis‘r = Redis.newr.set ‘a‘, 100
4,unwatch:
刷新一个事务中已被监视的所有key。重新开始watch
redis中事务和mysql中事务的区别
事务中出现错误时,整个事务中的操作是不会回滚的
redis ruby客户端学习(五)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。