Redis 事务可以一次执行多个命令。将多个命令加入一个队列中,使用exec执行。执行过程中不会被其他命令打断,但是在命令被加入队列过程中出错,整个队列的命令都不会被执行。

Redis事务命令

命令说明multi开启事务

exec提交(执行)事务

discard回滚(放弃)事务

watch监视一个(或多个) key ,如果在事务执行之前这个 key 被其他命令所改动,那么事务将被打断。

unwatch取消监视

Redis事务举例

多个命令全部执行成功:

local-redis:0> multi

"OK"

local-redis:0> set a aaa

"QUEUED"

local-redis:0> set b bbb

"QUEUED"

local-redis:0> set c ccc

"QUEUED"

local-redis:0> exec

1)  "OK"

2)  "OK"

3)  "OK"

部分命令入队失败,则事务失败:

local-redis:0> multi

"OK"

local-redis:0> set k1 v1

"QUEUED"

local-redis:0> set k2 v2

"QUEUED"

local-redis:0> getset k3 v3

"QUEUED"

local-redis:0> getset k4

"ERR wrong number of arguments for 'getset' command"

local-redis:0> set k5 v5

"QUEUED"

local-redis:0> exec

"EXECABORT Transaction discarded because of previous errors."

部分命令执行失败,其他命令不受影响,事务部分执行成功:

local-redis:0> multi

"OK"

local-redis:0> set k1 v1

"QUEUED"

local-redis:0> set k2 v2

"QUEUED"

local-redis:0> incr k1

"QUEUED"

local-redis:0> set k3 v3

"QUEUED"

local-redis:0> exec

1)  "OK"

2)  "OK"

3)  "ERR value is not an integer or out of range"

4)  "OK"

回滚事务,命令都不会被执行:

local-redis:0> multi

"OK"

local-redis:0> set k1 aaa

"QUEUED"

local-redis:0> set k2 bbb

"QUEUED"

local-redis:0> get k1

"QUEUED"

local-redis:0> discard

"OK"

相关推荐阅读:Redis数据类型和常用命令操作

redis是以set/get方式存储和获取数据的key-value存储系统 。 redis有五种数据类型:string、list、hash、set、zset。对于不同的数据类型,又不同的操作。 Redis常用操作 string类型操作 hash类型操作 list类型操作 set类型操作 zset类型操作 zset类型中Redis数据类型和常用命令操作[...]...

Redis常用命令以及应用场景

如果存储序已经列化的对象,可以使用如下格式的key ​ User::id::{id} 缓存 1.可用来缓存对象,将对象序列化为字符串后,使用格式如User::id::{id}的key存储获取。可使用到命令: SET key value [EX seconds]...

从配置文件学redis–Redis持久化备份

RDB快照 ################################ SNAPSHOTTING ################################## Save the DB on disk:##  ...

数据库事务

一、事务的基本要素(ACID) 1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。 事务开始后所有操作,要么全部做数据库事务[...]...

Memcached k-v 存储

安装 yum install memcached 运行 memcached -p 11211 -m 64m...

Elasticsearch 常用查询和Http请求笔记

创建索引: 查询索引 删除索引 _search 查询 _search DSL查询 term与match的区别: term不会对查询的关键词进行分词,而是进行精确匹配,match会先对关键词进行分词,再查询。 对查询词进行分词:...

Mycat 常用的分片规则

分片枚举 通过在配置文件中配置可能的枚举 id,自己配置分片,本规则适用于特定的场景,比如有些业务需要按照省份或区县来做保存,而全国省份区县固定的,这类业务使用本条规则,配置如下:

SQL LEFT JOIN 数据去重复

实例:查询当前用户参与过的流程实例(instance) 关系:每个实例 (instance)对应多个任务(task),task关联办理人(userId) 这样查询后,如果一个人办理同一个流程中的多个任务,则会重复查出相同的instance。 其实 join 关键词查询“一对多”关系的数据,查询之后的结果的记录数,是和“SQL LEFT JOIN 数据去重复[...]...

java redis事务_Redis事务相关推荐

  1. Redis持久化_Redis事务_Redis删除策略

    Redis持久化 Redis包含3中持久化方案: RDB, AOF, RDB与AOF混合使用 RDB RDB: 将内存中数据生成快照形式, 将其保存到.rdb文件中, 关注点是数据 使用命令执行RDB ...

  2. java redis 下载_redis Java源代码 redis.rar - 下载 - 搜珍网

    压缩包 : redis.rar 列表 redis/.classpath redis/.mymetadata redis/.project redis/.settings/.jsdtscope redi ...

  3. java redis管道_Redis的Java客户端Jedis的八种调用方式(事务、管道、分布式)介绍

    jedis是一个著名的key-value存储系统,而作为其官方推荐的java版客户端jedis也非常强大和稳定,支持事务.管道及有jedis自身实现的分布式. 在这里对jedis关于事务.管道和分布式 ...

  4. java中关闭redis事务_Redis 事务支持

    原标题:Redis 事务支持 Redis 事务支持 Redis中事务相关的命令有MULTI.EXEC.DISCARD.WATCH和UNWATCH. Redis事务保证原子性:要么所有命令都执行(都执行 ...

  5. java redis 原子操作_redis快速入门

    Redis服务的启动 redis-server.exe redis.windows.conf 连接Redis服务器 redis-cli.exe -h 127.0.0.1 -p 6379 (p代表的是p ...

  6. java redis 流水线_Redis附加功能之Redis流水线pipeline

    流水线功能的目的:通过减少客户端与服务器之间的通信次数来提高程序的执行效率. 一.通信 在一般情况下, 用户每执行一个 Redis 命令,客户端与服务器都需要进行一次通信:客户端会将命令请求发送给服务 ...

  7. java redis 计数器_redis:每天重置计数器

    我希望每天使用Redis重置计数器.我是Redis的新手,所以我想确保我充分了解事务和管道的工作方式. 以下代码是否可以确保在多进程环境中工作时,我总是得到一对唯一的(日期,数字),还是需要使用Red ...

  8. java redis 过期_Redis中的键值过期操作

    1.过期设置 Redis 中设置过期时间主要通过以下四种方式: expire key seconds:设置 key 在 n 秒后过期: pexpire key milliseconds:设置 key ...

  9. java redis计数器_Redis原子计数器incr,防止并发请求

    一.前言 在一些对高并发请求有限制的系统或者功能里,比如说秒杀活动,或者一些网站返回的当前用户过多,请稍后尝试.这些都是通过对同一时刻请求数量进行了限制,一般用作对后台系统的保护,防止系统因为过大的流 ...

最新文章

  1. 凡科虚拟服务器怎样做301,虚拟主机301重定向怎么做?网站301重定向方法之一
  2. android实现跑马灯效果(最小集代码)
  3. View onRestoreInstanceState ClassCastException
  4. python3导入特定的成员
  5. SqlServerDBHelper类
  6. sql行数少于10_如何用少于100行的代码创建生成艺术
  7. 解析xml_Mybatis中mapper的xml解析详解
  8. Django框架 之基础入门
  9. php怎么给页面链接,怎么给一个PHP密码访问页面加超链接
  10. NUC1041 数字三角形【DP】
  11. 计算机找不到spoon文件,windows重装系统没有找到spoon.sys修复spoon.sys文件损坏方法...
  12. 手机怎么设置腾达路由器后显示远端服务器,教你如何用手机快速设置腾达路由器...
  13. html标签的message,Message 消息提示
  14. php 微信开发 网页授权登录,微信开发网页授权登录——2018年6月2日
  15. NLP之句子相似度之入门篇
  16. 用turtle库画大风车(零基础python教程适合亲子教学互动)
  17. Java 正则校验手机号 工具类
  18. it小鲜肉c语言编程,小鲜肉修炼手册信院篇100.doc
  19. Ruoyi Vue版集成JFlowSpringBoot(成功版)
  20. python 爬虫 微博 github_GitHub 热门:各大网站的 Python 爬虫登录汇总

热门文章

  1. Tools (StExBar vs Cmder)which can switch to command line window on context menu in windows OS
  2. 在eclispe的类中快速打出main方法
  3. Lost and Found(结对项目)功能实现
  4. 【Head First Java 读书笔记】(四)对象的行为
  5. golang websocket 聊天室demo
  6. [置顶] Lucene开发实例(一般企业搜索平台完全够用全程)
  7. Python一些很实用的知识
  8. WCF技术剖析之二十三:服务实例(Service Instance)生命周期如何控制[上篇](转)...
  9. 华为交换机 consolep密码和vty密码配置telnet,ssh
  10. Zabbix 使用微信接收报警信息