java redis事务_Redis事务
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事务相关推荐
- Redis持久化_Redis事务_Redis删除策略
Redis持久化 Redis包含3中持久化方案: RDB, AOF, RDB与AOF混合使用 RDB RDB: 将内存中数据生成快照形式, 将其保存到.rdb文件中, 关注点是数据 使用命令执行RDB ...
- java redis 下载_redis Java源代码 redis.rar - 下载 - 搜珍网
压缩包 : redis.rar 列表 redis/.classpath redis/.mymetadata redis/.project redis/.settings/.jsdtscope redi ...
- java redis管道_Redis的Java客户端Jedis的八种调用方式(事务、管道、分布式)介绍
jedis是一个著名的key-value存储系统,而作为其官方推荐的java版客户端jedis也非常强大和稳定,支持事务.管道及有jedis自身实现的分布式. 在这里对jedis关于事务.管道和分布式 ...
- java中关闭redis事务_Redis 事务支持
原标题:Redis 事务支持 Redis 事务支持 Redis中事务相关的命令有MULTI.EXEC.DISCARD.WATCH和UNWATCH. Redis事务保证原子性:要么所有命令都执行(都执行 ...
- java redis 原子操作_redis快速入门
Redis服务的启动 redis-server.exe redis.windows.conf 连接Redis服务器 redis-cli.exe -h 127.0.0.1 -p 6379 (p代表的是p ...
- java redis 流水线_Redis附加功能之Redis流水线pipeline
流水线功能的目的:通过减少客户端与服务器之间的通信次数来提高程序的执行效率. 一.通信 在一般情况下, 用户每执行一个 Redis 命令,客户端与服务器都需要进行一次通信:客户端会将命令请求发送给服务 ...
- java redis 计数器_redis:每天重置计数器
我希望每天使用Redis重置计数器.我是Redis的新手,所以我想确保我充分了解事务和管道的工作方式. 以下代码是否可以确保在多进程环境中工作时,我总是得到一对唯一的(日期,数字),还是需要使用Red ...
- java redis 过期_Redis中的键值过期操作
1.过期设置 Redis 中设置过期时间主要通过以下四种方式: expire key seconds:设置 key 在 n 秒后过期: pexpire key milliseconds:设置 key ...
- java redis计数器_Redis原子计数器incr,防止并发请求
一.前言 在一些对高并发请求有限制的系统或者功能里,比如说秒杀活动,或者一些网站返回的当前用户过多,请稍后尝试.这些都是通过对同一时刻请求数量进行了限制,一般用作对后台系统的保护,防止系统因为过大的流 ...
最新文章
- 凡科虚拟服务器怎样做301,虚拟主机301重定向怎么做?网站301重定向方法之一
- android实现跑马灯效果(最小集代码)
- View onRestoreInstanceState ClassCastException
- python3导入特定的成员
- SqlServerDBHelper类
- sql行数少于10_如何用少于100行的代码创建生成艺术
- 解析xml_Mybatis中mapper的xml解析详解
- Django框架 之基础入门
- php怎么给页面链接,怎么给一个PHP密码访问页面加超链接
- NUC1041 数字三角形【DP】
- 计算机找不到spoon文件,windows重装系统没有找到spoon.sys修复spoon.sys文件损坏方法...
- 手机怎么设置腾达路由器后显示远端服务器,教你如何用手机快速设置腾达路由器...
- html标签的message,Message 消息提示
- php 微信开发 网页授权登录,微信开发网页授权登录——2018年6月2日
- NLP之句子相似度之入门篇
- 用turtle库画大风车(零基础python教程适合亲子教学互动)
- Java 正则校验手机号 工具类
- it小鲜肉c语言编程,小鲜肉修炼手册信院篇100.doc
- Ruoyi Vue版集成JFlowSpringBoot(成功版)
- python 爬虫 微博 github_GitHub 热门:各大网站的 Python 爬虫登录汇总
热门文章
- Tools (StExBar vs Cmder)which can switch to command line window on context menu in windows OS
- 在eclispe的类中快速打出main方法
- Lost and Found(结对项目)功能实现
- 【Head First Java 读书笔记】(四)对象的行为
- golang websocket 聊天室demo
- [置顶] Lucene开发实例(一般企业搜索平台完全够用全程)
- Python一些很实用的知识
- WCF技术剖析之二十三:服务实例(Service Instance)生命周期如何控制[上篇](转)...
- 华为交换机 consolep密码和vty密码配置telnet,ssh
- Zabbix 使用微信接收报警信息