redis的事务 不保证原子性
三个步骤:开启事务、命令入队、执行事务

开启事务:multi

执行事务:exec

127.0.0.1:6379> multi  #开启事务
OK
127.0.0.1:6379> set name applesnt #命令入队
QUEUED
127.0.0.1:6379> set age 12 #命令入队
QUEUED
127.0.0.1:6379> get name #命令入队
QUEUED
127.0.0.1:6379> exec #执行事务 输出结果
1) OK
2) OK
3) "applesnt"

取消事务:discard

127.0.0.1:6379> multi #开启事务
OK
127.0.0.1:6379> set name applesnt #命令入队
QUEUED
127.0.0.1:6379> discard #取消事务
OK
127.0.0.1:6379> get name #事务队列不会被执行
(nil)

事务处理(编译时事务):一个事务里 命令出错 整个事务就不会被执行

12127.0.0.1:6379> multi
OK
127.0.0.1:6379> set name applesnt #set一个name
QUEUED
127.0.0.1:6379> getset name #没有getset这条命令 会报错
(error) ERR wrong number of arguments for 'getset' command
127.0.0.1:6379> set age 12 #继续set一个age
QUEUED
127.0.0.1:6379> get name #获取name的值
QUEUED
127.0.0.1:6379> exec #事务提交失败
(error) EXECABORT Transaction discarded because of previous errors.
127.0.0.1:6379> get name #事务没有执行成功
(nil)

事务处理(运行时事务):一个事务里 其中一条运行出错 其他正确的运行会执行成功

127.0.0.1:6379> multi
OK
127.0.0.1:6379> set count "v1"
QUEUED
127.0.0.1:6379> incr count #对字符串加1 运行时会出错
QUEUED
127.0.0.1:6379> set name applesnt
QUEUED
127.0.0.1:6379> get name
QUEUED
127.0.0.1:6379> exec #成功了三条 失败了一条
1) OK
2) (error) ERR value is not an integer or out of range
3) OK
4) "applesnt"
127.0.0.1:6379> get count
"v1"

最新文章

  1. Python之控制台输入密码的方法
  2. 使用“Empty 模式”改进 Null Object
  3. 扩展duilib edit控件的提示功能和多种文字颜色(解决edit为password显示不正常的bug)
  4. 【练习】ORACLE统计信息--直方图
  5. vim分屏快捷键使用/增大/减小字体使用
  6. HDU 5266 pog loves szh III
  7. 17.1.1.5 Creating a Data Snapshot Using mysqldump 创建一个快照使用mysqldump:
  8. Javascript中valueOf与toString区别
  9. Exams
  10. 【转】iOS开发路线简述
  11. java 包命名规范
  12. 关于ZK框架的onScroll事件的问题
  13. Android实现RecyclerView侧滑删除和长按拖拽-ItemTouchHelper
  14. Postman----支持markdown可自动生成接口文档
  15. python 实现神经网络算法
  16. c++11并行、并发与多线程编程
  17. Andorid之官方导航栏Toobar
  18. MySQL 性能监控4大指标——第二部分
  19. Android攻城狮学习笔记-进阶篇一
  20. tooltip提示文字

热门文章

  1. K折-交叉验证
  2. PHP7内核(三):源码目录结构
  3. postman设置全局变量及参数化
  4. Vue.js系列(一):Vue项目创建详解
  5. GCDAsyncSocket 笔记
  6. Cplex教育版申请
  7. jdbc连接方法
  8. Gin框架系列01:极速上手
  9. Axure RP闪退问题
  10. 谈谈surging 与多语言混合微服务构思