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日

相关文章

  • GO实现Redis:GO实现Redis集群(5)

    采用一致性hash算法将key分散到不同的节点,客户端可以连接到集群中任意一个节点 https://github.com/csgopher/go-redis 本文涉及以下文件: consistenthash:实现添加和选择节点方法 standalone_database:单机database client:客户端 client_pool:实现连接池 clus…

    Redis 2023年4月10日
    00
  • 基于Redis的Setnx实现分布式锁

    一、 redis分布式锁原理     并发 到Redis里变成了串行排队,单线程   二、基于Redis的Setnx实现分布式锁    1、pom     <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-bo…

    Redis 2023年4月13日
    00
  • Redis系列12:Redis 的事务机制

    Redis系列1:深刻理解高性能Redis的本质Redis系列2:数据持久化提高可用性Redis系列3:高可用之主从架构Redis系列4:高可用之Sentinel(哨兵模式)Redis系列5:深入分析Cluster 集群模式 追求性能极致:Redis6.0的多线程模型追求性能极致:客户端缓存带来的革命Redis系列8:Bitmap实现亿万级数据计算Redis…

    2023年4月10日
    00
  • redis安装

    单机版安装: 1.获取redis资源   wget http://download.redis.io/releases/redis-4.0.8.tar.gz 2.解压   tar xzvf redis-4.0.8.tar.gz 3.安装   cd redis-4.0.8   make   cd src   make install PREFIX=/usr/l…

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

    Redis中,RPUSH命令是用于在列表末尾追加一个或多个值的命令,其完整的使用方法可以通过以下标题来进行回答。 RPUSH命令使用方法 RPUSH key value [value …] key:操作的列表键值 value:要追加到列表末尾的一个或多个值 RPUSH命令作用 RPUSH命令主要用于向Redis中的列表数据结构末尾添加一个或多个元素,如果…

    Redis 2023年3月27日
    00
  • Redis BLPOP命令

    Redis BLPOP命令是一个列表阻塞弹出命令,用于删减一个或多个列表的元素,并返回弹出的元素。BLPOP命令的阻塞特性在执行该命令时可以设置超时时间,如果待处理的元素不存在,则会阻塞等待空闲(出队)的列表出现为止,然后再尝试弹出元素。BLPOP命令的格式如下所示: BLPOP key [key …] timeout 其中,key参数表示列表的键名(支…

    Redis 2023年3月27日
    00
  • Redis EXPIREAT命令

    Redis EXPIREAT 命令 Redis EXPIREAT 命令用于将键的生存时间设置为 UNIX 时间戳(unix timestamp)格式的时间,该命令与 EXPIRE 命令的作用相同,但是需要以 UNIX 时间戳的形式指定生存时间。 以下是 EXPIREAT 命令的语法: EXPIREAT key timestamp 其中,参数 key 表示键名…

    Redis 2023年3月27日
    00
  • Flink从socket读取数据sink到redis

    package com.lin.flink.stream.customPartition; import org.apache.flink.api.common.functions.MapFunction; import org.apache.flink.api.java.tuple.Tuple2; import org.apache.flink.strea…

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