Welcome 微信登录

首页 / 数据库 / MySQL / Redis事物介绍与应用

研究reids与使用已经有几个月的时间,中间自己总结了不少文档以及相关资料,接下来时间,会陆续分享一些相关资料,并且介绍其在我们应用中的使用情况。下面是redis事物的相关介绍(参考redis.io):一.事物的使用1.Redis事物通过MULTI命令开始。 这条命令总是返回OK。2.然后用户可以执行多条指令,redis不会马上执行这些指令,还只是放入到队列中。3.当执行exec指令时,所有的指令执行。4.调用discard指令,将会flush事物队列,并且退出事物。如下:redis 127.0.0.1:6379> multiOKredis 127.0.0.1:6379> set foo 1QUEUEDredis 127.0.0.1:6379> incr fooQUEUEDredis 127.0.0.1:6379> incr fooQUEUEDredis 127.0.0.1:6379> exec1) OK2) (integer) 23) (integer) 3 从以上会话中能看到multi命令返回的回复是一个数组,每个元素即是事物中每条指令的回复,并且跟指令发布的顺序一样。当redis连接在multi请求下,所有的命令回复都是queued,除非这条指令的语句法不正确。而一些指令语法正确,但执行阶段出错也是允许的。如以下redis 127.0.0.1:6379> multiOKredis 127.0.0.1:6379> set t 13QUEUEDredis 127.0.0.1:6379> lpop tQUEUEDredis 127.0.0.1:6379> exec1) OK2) (error) ERR Operation against a keyholding the wrong kind of value对于这种err,需要客户端给予合理的提示。需要注意的是,所有在队列中的指令都会被执行,redis不会终止指令的执行。二.取消队列指令
Discard为取消命令队列。可以终断一个事物。不会有命令会被执行,并且连接的状态是正常的。如:> SET foo 1OK> MULTIOK> INCR fooQUEUED> DISCARDOK> GET foo"1"
  • 1
  • 2
  • 3
  • 下一页
基于tungsten API 同步mysql binlog出现EOF packet received的问题解决基于Redis分布式缓存实现相关资讯      Redis  Redis介绍  Redis应用 
  • Redis 非关系型数据库 ( Nosql )  (07月01日)
  • Java中使用Jedis操作Redis  (04月08日)
  • MongoDB仲裁节点的理解及Memcached  (02月13日)
  • 关于 Redis的订阅发布  (04月15日)
  • Redis初级介绍  (03月23日)
  • 在Ubuntu 14.04下安装Redis  (01月31日)
本文评论 查看全部评论 (0)
表情: 姓名: 字数

版权所有©石家庄振强科技有限公司2024 冀ICP备08103738号-5 网站地图