Redis的Expire与Setex区别说明
为key设置过期时间
Setex
为key设置value值,并且,设置过期时间
区别
Setex是一个原子操作
设置值,设置过期时间两个动作,会在同一时间完成
在Redis缓存中,非常实用
补充知识:redis之setnx、setex、setrange、mset
1.setnx
设置 key对应的值为 string类型的 value。 如果key 已经存在,返回 0,nx 是not exist 的意思。
例如我们添加一个name= HongWan_new 的键值对,可以这样做:
redis 127.0.0.1:6379 get name
HongWan
redis 127.0.0.1:6379 setnx name HongWan_new
(integer) 0
redis 127.0.0.1:6379 get name
HongWan
redis 127.0.0.1:6379
由于原来 name 有一个对应的值,所以本次的修改不生效,且返回码是 0。
2.setex
设置key 对应的值为 string 类型的 value,并指定此键值对应的有效期。
例如我们添加一个haircolor= red 的键值对,并指定它的有效期是10 秒,可以这样做:
redis 127.0.0.1:6379 setex haircolor 10 red
OK
redis 127.0.0.1:6379 get haircolor
red
redis 127.0.0.1:6379 get haircolor
(nil)
redis 127.0.0.1:6379
可见由于最后一次的调用是10 秒以后了,所以取不到 haicolor 这个键对应的值。
3.setrange
设置指定 key 的 value 值的子字符串。
例如我们希望将 HongWan 的 126 邮箱替换为 gmail 邮箱,那么我们可以这样做:
redis 127.0.0.1:6379 get name
HongWan@126.com
redis 127.0.0.1:6379 setrange name 8 gmail.com
(integer) 17
redis 127.0.0.1:6379 get name
HongWan@gmail.com
redis 127.0.0.1:6379
其中的 8 是指从下标为 8(包含8)的字符开始替换
4.mset
一次设置多个key 的值,成功返回 ok 表示所有的值都设置了,失败返回 0 表示没有任何值被设置。
redis 127.0.0.1:6379 mset key1 HongWan1 key2 HongWan2
OK
redis 127.0.0.1:6379 get key1
HongWan1
redis 127.0.0.1:6379 get key2
HongWan2
redis 127.0.0.1:6379
5.msetnx
一次设置多个key 的值,成功返回 ok 表示所有的值都设置了,失败返回 0 表示没有任何值被设置, 但是不会覆盖已经存在的 key。
redis 127.0.0.1:6379 get key1
HongWan1
redis 127.0.0.1:6379 get key2
HongWan2
redis 127.0.0.1:6379 msetnx key2 HongWan2_newkey3 HongWan3
(integer) 0
redis 127.0.0.1:6379 get key2
HongWan2
redis 127.0.0.1:6379 get key3
(nil)
可以看出如果这条命令返回 0,那么里面操作都会回滚,都不会被执行。
以上这篇Redis的Expire与Setex区别说明就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
我想要获取技术服务或软件
服务范围:MySQL、ORACLE、SQLSERVER、MongoDB、PostgreSQL 、程序问题
服务方式:远程服务、电话支持、现场服务,沟通指定方式服务
技术标签:数据恢复、安装配置、数据迁移、集群容灾、异常处理、其它问题
本站部分文章参考或来源于网络,如有侵权请联系站长。
数据库远程运维 Redis的Expire与Setex区别说明
相关文章
- Redis配置文件redis.conf详细配置说明
- Linux使用Redis:一个指南(linux进入redis)
- 简单而高效: 使用Redis实现数据同步(redis实现数据同步)
- Redis实现高效的并发访问控制(redis防并发)
- Redis与MongoDB: 技术差异体现(redis和mongodb区别)
- MongoDB与Redis的异同比较(mongodb和redis的区别)
- 探究Redis中各种数据类型的使用方法与区别(redis存储的数据类型)
- Redis实战:探究编译参数对性能的影响(redis编译参数)
- 增强项目性能:添加Redis到项目中(项目中添加redis)
- 缓存 vs Redis不同的性能特征(缓存和redis的区别)
- 探索Redis最大可用内存(查询redis最大内存)
- 探索Redis的读写次数之谜(查看redis的读写次数)
- 提升效率本地Redis快速清除缓存(本地redis清除缓存)
- 深入探讨ZK锁与Redis锁的区别(zk锁和redis锁区别)
- 用win装上Redis,空前愉悦体验(win 装 redis)
- SSDB与Redis的异同从存储结构看(ssdb与redis区别)
- 如何快速掌握Redis的技巧(如何精通redis)
- 国产解决方案替代Redis实现数据库可靠性(国产化替代redis)
- Redis高效率的强大助力者(redis高性能利器)
- Redis主从切换动态激活优化实时服务(redis频繁主从切换)
- 一眼看穿Redis单机与集群的差异(redis集群的区别)
- 揭秘Redis集群与负载的区别(redis集群和负载区别)
- 深入了解Redis集群中的主从机制(redis 集群主从区别)
- 分析Redis集群与哨兵的异同(redis集群与哨兵区别)
- Redis中Set集合操作实战技巧(redis集合set操作)
- 比较Redis队列和MQ的不同特性(redis队列和mq区别)
- 深入学习Redis配置Log的技巧(redis 配置log)
- Redis连接参数详解(redis连接参数说明)
- Redis 与其他数据库的区别(redis跟区别)
- Redis深度解析浅析存储方案之一(redis详细说明)