Redis SETEX命令

yizhihongxing

Redis SETEX命令概述

Redis是一种基于内存的高速缓存和持久化数据库,SET和SETEX是Redis中常用的字符串类型的命令,用于设置键值对以及设置键的生存时间。

SET命令用于设置一个键的值,若键已经存在,它会被覆盖。SETEX命令则在SET命令的基础上增加了一个过期时间,即键值对在该时间之后被自动删除,因此SETEX命令非常适用于一些需要设置过期时间的场景。

SET和SETEX命令的语法格式如下:

SET key value [EX seconds] [PX milliseconds] [NX|XX]
SETEX key seconds value

其中,SET命令后面可以使用的选项有:

  • EX seconds:以秒为单位设置键的过期时间
  • PX milliseconds:以毫秒为单位设置键的过期时间
  • NX:只在键不存在时才进行设置
  • XX:只在键已经存在时才进行设置

对于SETEX命令,只需要指定键和过期时间即可。

Redis SETEX命令使用方法

示例 1:使用SET命令设置键值对

使用SET命令设置键为"test",值为"redis":

SET test redis

这个键值对会一直存在于Redis中,直到被其他操作覆盖或删除。

示例 2:使用SETEX命令设置键值对

使用SETEX命令设置键为"testexpire",值为"redis",并将过期时间设置为3秒:

SETEX testexpire 3 redis

这个键值对会在3秒之后自动被Redis删除,使用TTL命令可以查看键的剩余生存时间:

TTL testexpire

示例 3:使用SET命令设置键值对以及过期时间

使用SET命令设置键为"testsetex",值为"redis",并将过期时间设置为5秒:

SET testsetex redis EX 5

这个键值对同样会在5秒之后自动被Redis删除。可以使用PTTL命令查看键的剩余生存时间(以毫秒为单位):

PTTL testsetex

示例 4:使用SET命令设置键值对,但只在键不存在时才进行设置

使用SET命令设置键为"testnx",值为"redis",但只在该键不存在时才进行设置:

SET testnx redis NX

如果该键在Redis中已经存在,则该操作不会被执行。

示例 5:使用SET命令设置键值对,并只在键已经存在时才进行设置

使用SET命令设置键为"testxx",值为"redis",但只在该键已经存在于Redis中时才进行设置:

SET testxx redis XX

如果该键在Redis中不存在,则该操作不会被执行。

总结

SET和SETEX命令是Redis中常用的字符串类型的命令,SET命令用于设置一个键的值,而SETEX命令可以在SET命令的基础上增加一个过期时间,非常适用于一些需要设置过期时间的场景。使用这两个命令可以轻松地操作Redis中的键值对,同时也可以快速地设置过期时间,确保数据在一定时间后被自动删除。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Redis SETEX命令 - Python技术站

(0)
上一篇 2023年3月27日
下一篇 2023年3月27日

相关文章

  • 获取redis中所有的key,清空整个 Redis 服务器的数据

    获取 redis 中所有的 key 可用使用 *。 redis 127.0.0.1:6379> KEYS *   Redis Flushall 命令用于清空整个 Redis 服务器的数据(删除所有数据库的所有 key )。 语法 redis Flushall 命令基本语法如下: redis 127.0.0.1:6379> FLUSHALLredi…

    Redis 2023年4月13日
    00
  • redis hset hmset过期时间

    hmset m k v  127.0.0.1:6379> hset m k v (integer) 1 127.0.0.1:6379> hget m k “v” 127.0.0.1:6379> expire m 30 (integer) 1 127.0.0.1:6379> ttl m (integer) 24 127.0.0.1:63…

    Redis 2023年4月13日
    00
  • redis数据库的安装配置

       redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统。和Memcached类似,但很大程度补偿了memcached的不足,它支持存储的value类型相对更多,包括string、list、set、zset和hash。 这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作。在此基础上,redi…

    Redis 2023年4月13日
    00
  • 关于腾讯云redis 无法外网访问的解决方案

    问题简介: 今天购买了一台腾讯云的redis:如图    可是我没有找到 腾讯云提供的外网地址,我该怎么连接呢?百度了一大堆 全部是 在腾讯云服务器上搭建的Redis实例的解决办法。完全不匹配。 开始解决: 这个是腾讯云官方给我提供的解决方案。突然悟透。        通过代理绑定实现防火墙转发不就好了吗?猪脑子。。。 准备工作:   1.说道代理防火墙转发…

    Redis 2023年4月11日
    00
  • liunx安装redis和gcc

    首先去上下载redis,我现在用的版本是:redis-3.0.4.tar.gz 然后放到虚拟机里面解压,下面是三种解压命令: tar -zxvf file.tar.gz tar -jcvf file file.tar.bz2 tar -jxvf file.tar.gz解压之后再进入到解压的文件夹里面,然后输入命令:make install进行Redis安装。…

    Redis 2023年4月16日
    00
  • redis 简单黑窗口主从配置

    第一步 将下载后的redis文件夹复制一份作为slave 第二步 修改slave文件夹内配置文件 redis.windows.conf port 8888 masterauth 123456 slaveof 127.0.0.1 6379 这样就可以配置成端口为6379的从服务器 第三步 打开2个黑窗口 相继登陆服务器  redis-server.exe re…

    Redis 2023年4月12日
    00
  • Redis哨兵(sentinel)

    目录 前言 原理 架构图 下载 命令 配置 启动 查看 Sentinel(哨兵)配置 常用命令 Q&A Redis主从配置异常解决:Error condition on socket for SYNC: Connection refused (DENIED Redis is running in protected mode) 前言 背景:测试环境的…

    Redis 2023年4月13日
    00
  • SmartSql Redis 分布式缓存

    安装 SmartSql.Cache.Redis Install-Package SmartSql.Cache.Redis Cache 配置 <Cache Id=”T_Test.RedisCache” Type=”SmartSql.Cache.Redis.RedisCacheProvider,SmartSql.Cache.Redis”> <P…

    Redis 2023年4月11日
    00
合作推广
合作推广
分享本页
返回顶部