Redis SETEX命令

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日

相关文章

  • MongoDB和redis

    一 简介 MongoDB是一款强大、灵活、且易于扩展的通用型数据库1、易用性 MongoDB是一个面向文档(document-oriented)的数据库,而不是关系型数据库。不采用关系型主要是为了获得更好得扩展性。当然还有一些其他好处,与关系数据库相比,面向文档的数据库不再有“行“(row)的概念取而代之的是更为灵活的“文档”(document)模型。通过在…

    Redis 2023年4月13日
    00
  • Redis HSETNX命令

    Redis HSETNX命令用于将一个字段及其对应的值存储为哈希表中,如果该字段已经存在则不存储。HSETNX命令的作用是保证哈希表的字段唯一性,防止字段的值被错误地覆盖或重复存储。下面是HSETNX命令的用法和实例说明。 用法 HSETNX命令的用法如下所示: HSETNX key field value 其中,key表示哈希表的名称,field表示哈希表…

    Redis 2023年3月27日
    00
  • liunx系统安装Redis详细步骤

    liunx系统安装Redis详细步骤 liunx系统安装Redis详细步骤 官网下载Redis安装包 使用工具将redis安装包拖入liunx系统 创建Redis存放目录 mkdir /usr/local/redis 解压到redis存放目录 tar -zxvf redis-7.0.8.tar.gz -C /usr/local/redis/ 基本环境安装gc…

    Redis 2023年4月11日
    00
  • Redis ZINTERSTORE命令

    Redis ZINTERSTORE 命令 Redis ZINTERSTORE 命令用于对多个有序集合进行交集计算,并将结果保存到新的有序集合中。 命令格式 ZINTERSTORE destination numkeys key [key …] [WEIGHTS weight [weight …]] [AGGREGATE SUM|MIN|MAX] 参数…

    Redis 2023年3月27日
    00
  • Redis清除某个端口号的缓存

    1、cmd切换到redis目录下 2、redis-cli -p 6379回车 3、flushall           C:\Users\Treasure>D: D:\>cd D:\software\Redis-x64-3.0.504 D:\software\Redis-x64-3.0.504>redis-cli -p 6379127.0.…

    Redis 2023年4月13日
    00
  • redis哨兵集群配置

    redis 集群架构图:   需要先配置redis主从,我这边是单机部署的。 采用一主一从,两个sentinel。 redis host: 172.31.11.235 redis-master port: 6380  sentinel1: 26380 redis-slave port: 6381 sentinel2: 26381 redis master r…

    Redis 2023年4月13日
    00
  • redis使用watch完成秒杀抢购功能(转)

    redis使用watch完成秒杀抢购功能: 使用redis中两个key完成秒杀抢购功能,mywatchkey用于存储抢购数量和mywatchlist用户存储抢购列表。 它的优点如下: 1. 首先选用内存数据库来抢购速度极快。 2. 速度快并发自然没不是问题。 3. 使用悲观锁,会迅速增加系统资源。 4. 比队列强的多,队列会使你的内存数据库资源瞬间爆棚。 5…

    Redis 2023年4月13日
    00
  • C#操作redis代码汇总

    马上要用redis来改造现有的o2o项目了,在linux下部署了个redis,顺便研究了下代码操作,分享下代码 using System; using System.Collections.Generic; using ServiceStack.Redis; namespace SysBuild { class Program { //linux服务器地址 …

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