Redis 事务与过期时间详细介绍
Redis 事务与过期时间详细介绍
一、Redis事务:
Redis中支持事务,事务即为当我们需要执行几条命令时,要么这几条命令都不执行,要么都执行:
1、开始事务写入:
multi
2、然后写入命令,注意写完事务要执行的每条命令之后回车即可,命令会自动入队:
lpush art:1 hello lpush art:1 nihao
3、执行事务:
exec
Redis则会保证事务中的所有命令要么都执行,要么都不执行。
二、Redis过期时间:
实际开发中经常会遇到一些有时效性的数据,比如缓存,过一段时间就需要删除这些数据,Redis支持设置一个键的过期时间,键过期后,其对应的值也会一并清除。
1、新设置一个键值:
set art:name hello
2、设置其缓存时间(注意是以秒为单位)
expire art:name 20
3、20秒后,得到其值为空
get art:name (nil)
4、查看一个值还有多久被删除:
ttl art:name
返回的是单位为秒
5、设置其缓存时间(以毫秒为单位)
pexpire art:name 20000
6、以1970年到现在的时间设置过期时刻:
expireat art:name 1351858600 (时间为秒) pexpireat art:name 1351858600 (时间为毫秒)
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
相关推荐
-
Redis教程(八):事务详解
一.概述: 和众多其它数据库一样,Redis作为NoSQL数据库也同样提供了事务机制.在Redis中,MULTI/EXEC/DISCARD/WATCH这四个命令是我们实现事务的基石.相信对有关系型数据库开发经验的开发者而言这一概念并不陌生,即便如此,我们还是会简要的列出Redis中事务的实现特征: 1). 在事务中的所有命令都将会被串行化的顺序执行,事务执行期间,Redis不会再为其它客户端的请求提供任何服务,从而保证了事物中的所有命令被原子的执行. 2). 和关系型数据库中的事务相比,在Red
-
redis中事务机制及乐观锁的实现
Redis事务机制 在MySQL等其他数据库中,事务表示的是一组动作,这组动作要么全部执行,要么全部不执行. Redis目前对事物的支持相对简单.Redis只能保证一个client发起的事务中的命令可以连续的执行,而中间不会插入其他的client命令.当一个client在一个链接中发出multi命令时,这个链接会进入一个事务上下文,该连接后续的命令不会立即执行,而是先放到一个队列中,当执行exec命令时,redis会顺序的执行队列中的所有命令. Multi 开启事务: 127.0.0.1:637
-
【Redis缓存机制】详解Java连接Redis_Jedis_事务
Jedis事务 我们使用JDBC连接Mysql的时候,每次执行sql语句之前,都需要开启事务:在MyBatis中,也需要使用openSession()来获取session事务对象,来进行sql执行.查询等操作.当我们对数据库的操作结束的时候,是事务对象负责关闭数据库连接. 事务对象用于管理.执行各种数据库操作的动作.它能够开启和关闭数据库连接,执行sql语句,回滚错误的操作. 我们的Redis也有事务管理对象,其位于redis.clients.jedis.Transaction下. Jedis事
-
Redis 事务与过期时间详细介绍
Redis 事务与过期时间详细介绍 一.Redis事务: Redis中支持事务,事务即为当我们需要执行几条命令时,要么这几条命令都不执行,要么都执行: 1.开始事务写入: multi 2.然后写入命令,注意写完事务要执行的每条命令之后回车即可,命令会自动入队: lpush art:1 hello lpush art:1 nihao 3.执行事务: exec Redis则会保证事务中的所有命令要么都执行,要么都不执行. 二.Redis过期时间: 实际开发中经常会遇到一些有时效性的数据,比如缓存,过
-
python中redis查看剩余过期时间及用正则通配符批量删除key的方法
具体代码如下所示: # -*- coding: utf-8 -*- import redis import datetime ''' # 1. redis设置过期时间的两种方式 expire函数设置过期时间为10秒.10秒后,ex1将会失效 expireat设置一个具体的时间,15年9月8日15点19分10秒,过了这个时间,ex2将失效 如果设置过期时间成功会返回True,反之返回False ''' pool = redis.ConnectionPool(host='192.168.3.128'
-
java操作Redis缓存设置过期时间的方法
关于Redis的概念和应用本文就不再详解了,说一下怎么在java应用中设置过期时间. 在应用中我们会需要使用redis设置过期时间,比如单点登录中我们需要随机生成一个token作为key,将用户的信息转为json串作为value保存在redis中,通常做法是: //生成token String token = UUID.randomUUID().toString(); //把用户信息写入redis jedisClient.set(REDIS_USER_SESSION_KEY + ":"
-
Redisson如何解决redis分布式锁过期时间到了业务没执行完问题
目录 面试问题 问题分析 如何回答 一.写在前面 二.Redisson实现Redis分布式锁的底层原理 (1)加锁机制 (2)锁互斥机制 (3)watch dog自动延期机制 (4)可重入加锁机制 (5)释放锁机制 (6)上述Redis分布式锁的缺点 总结 面试问题 Redis锁的过期时间小于业务的执行时间该如何续期? 问题分析 首先如果你之前用Redis的分布式锁的姿势正确,并且看过相应的官方文档的话,这个问题So easy.我们来看 很多同学在用分布式锁时,都是直接百度搜索找一个Redis分
-
Redis 如何批量设置过期时间(PIPLINE的使用)
合理的使用缓存策略对开发同学来讲,就好像孙悟空习得自在极意功一般~ Redis如何批量设置过期时间呢? 不要说在foreach中通过set()函数批量设置过期时间 我们引入redis的PIPLINE,来解决批量设置过期时间的问题. PIPLINE的原理是什么? 未使用pipline执行N条命令 使用pipline执行N条命令 通过图例可以很明显的看出来PIPLINE的原理: 客户端通过PIPLINE拼接子命令,只需要发送一次请求,在redis收到PIPLINE命令后,处理PIPLINE组成的命令
-
SpringBoot整合Redis实现常用功能超详细过程
目录 1 登陆功能 1.1 基于Session实现登录流程 1.1.1 session共享问题 1.2 Redis替代Session 1.2.1.设计key的结构 1.2.2.设计key的具体细节 1.2.3.整体访问流程 2 缓存功能 2.1 什么是缓存? 2.1.1 为什么要使用缓存 2.1.2 如何使用缓存 2.2.使用缓存 2.2.1 .缓存模型和思路 2.3 缓存更新策略 2.3.1 .数据库缓存不一致解决方案: 2.3.2 .数据库和缓存不一致采用什么方案 2.4 缓存穿透问题的解决
-
Java缓存Map设置过期时间实现解析
这篇文章主要介绍了Java缓存Map设置过期时间实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 前言 最近项目需求需要一个类似于redis可以设置过期时间的K,V存储方式.项目前期暂时不引进redis,暂时用java内存代替. 解决方案 1. ExpiringMap 功能简介 : 1.可设置Map中的Entry在一段时间后自动过期. 2.可设置Map最大容纳值,当到达Maximum size后,再次插入值会导致Map中的第一个值过期.
-
Redis实现分布式锁方法详细
目录 1. 单机数据一致性 2. 分布式数据一致性 3. Redis实现分布式锁 3.1 方式一 3.2 方式二(改进方式一) 3.3 方式三(改进方式二) 3.4 方式四(改进方式三) 3.5 方式五(改进方式四) 3.6 小结 在单体应用中,如果我们对共享数据不进行加锁操作,会出现数据一致性问题,我们的解决办法通常是加锁. 在分布式架构中,我们同样会遇到数据共享操作问题,本文章使用Redis来解决分布式架构中的数据一致性问题. 1. 单机数据一致性 单机数据一致性架构如下图所示:多个可客户访
-
Redis 事务知识点相关总结
Redis中的事务介绍 MySQL中的事务大家都不陌生,Redis中的事务和MySQL中的事务不同,今天看下Redis事务中的一些知识点吧. 01 事务简介 Redis中的事务使用multi.exec来标记,其中multi代表事务开始,exec代表事务结束,multi和exec之间的命令是原子顺序执行的.下面是一个例子: 127.0.0.1:7397> multi OK 127.0.0.1:7397> set key_hello hello QUEUED 127.0.0.1:7397&
-
你了解Redis事务吗
目录 前言 ACID属性说明 原子性(Atomicity) 一致性(Consistency) 隔离性(Isolation) 持久性(Durability) Redis如何实现事务 实现原理 事务相关命令 Redis的事务如何支持ACID Redis事务的支持原子性吗? Redis事务的支持一致性吗? 情况一:命令入队时就报错 情况二:命令入队时没报错,实际执行时报错 情况三:Exec执行命令Redis实例发生故障 Redis事务的支持隔离性吗? Redis事务的支持持久性吗? 总结 前言 说到事
随机推荐
- Angular的$http的ajax的请求操作(推荐)
- python字符类型的一些方法小结
- flex中使用RadioButtonGroup时取出所选项的值的方法
- 打造博客园(cnblogs)超级自定义界面
- Java多线程实现Callable接口
- URL重写及干掉ASP.NET试图状态的实现方法
- 原生JS实现美图瀑布流布局赏析
- asp.net中生成缩略图并添加版权实例代码
- Three.js获取鼠标点击的三维坐标示例代码
- javascript getElementsByClassName实现代码
- Python将阿拉伯数字转换为罗马数字的方法
- google输入法和dreamweaver冲突了总是出错自动关闭郁闷
- 关于 byval 与 byref 的区别分析总结
- js实现百度登录框鼠标拖拽效果
- 基于Jquery和CSS3制作数字时钟附源码下载(CSS3篇)
- Jquery+JSon 无刷新分页实现代码
- jQuery学习笔记 操作jQuery对象 属性处理
- JS 实现计算器详解及实例代码(一)
- Javascript中的作用域和上下文深入理解
- Android 使用CoordinatorLayout实现滚动标题栏效果的实例