注册

详解Redis PSETEX命令:设置 key 的值,并设置过期时间(单位命令:毫秒)

Redis PSETEX命令的作用与使用方法

Redis PSETEX命令用于将键值对存储到 Redis 数据库中,并指定过期时间。PSETEX与SETEX的区别在于PSETEXT接收的过期时间是以毫秒为单位的,而SETEX接收的过期时间是以秒为单位的。

PSETEX语法如下:

PSETEX key milliseconds value

其中,key指定要存储的键名,milliseconds指定要设置的过期时间,value指定要存储的值。

例如,下面的命令将一个名为“test”的键与一个值“hello world”存储到 Redis 数据库中,设置过期时间为5000毫秒:

127.0.0.1:6379> PSETEX test 5000 "hello world"
OK

上面的命令执行成功后,Redis 数据库中就存储了一个名为“test”的键,过期时间为5000毫秒,对应的值为“hello world”。

要获取存储在 Redis 数据库中的键值,可以使用GET命令,如下所示:

127.0.0.1:6379> GET test
"hello world"

可以看到,GET命令返回了存储在 Redis 数据库中的键值。

实例1

假设我们要存储一个名为“user:1”的键,其对应的值是一个JSON格式的用户信息,例如:

{
    "id": 1,
    "name": "张三",
    "email": "zhangsan@qq.com",
    "password": "123456",
    "created_at": "2022-01-01 00:00:00",
    "updated_at": "2022-01-01 00:00:00"
}

同时,我们设置过期时间为1小时,可以使用以下命令:

127.0.0.1:6379> PSETEX user:1 3600000 "{\"id\":1,\"name\":\"张三\",\"email\":\"zhangsan@qq.com\",\"password\":\"123456\",\"created_at\":\"2022-01-01 00:00:00\",\"updated_at\":\"2022-01-01 00:00:00\"}"
OK

实例2

假设我们需要记录一个在线用户的最后活动时间,我们可以使用以下命令:

127.0.0.1:6379> PSETEX online:1 30000 "2022-01-01 00:00:00"
OK

上面的命令将一个名为“online:1”的键与一个值“2022-01-01 00:00:00”存储到 Redis 数据库中,并设置过期时间为30000毫秒,即30秒。这样,当用户在30秒内没有进行任何操作时,该键就会过期,Redis将自动从数据库中删除该键。在此过程中,我们可以使用GET命令获取online:1的值来检查最后活动时间。

总结

以上是Redis PSETEX命令的作用与使用方法的完整攻略以及两个实例。PSETEX命令适用于在需要存储键值对并指定过期时间的场景下使用。使用PSETEX命令,我们可以轻松地将值与过期时间存储到Redis数据库中,并在时间到期后自动从数据库中删除。