Redis PSETEX 命令
Created|Updated|Redis教程
|Post Views:
从 Redis 2.6.12 版本开始,此命令被视为已弃用。
在迁移或编写新的代码时,可以将其替换为带有PX参数的SET命令。
语法
1 | PSETEX key milliseconds value |
可用版本
≥ 2.6.0
时间复杂度
$O(1)$
ACL类别
@write, @string, @slow
PSETEX 的工作方式与 SETEX 完全一样,唯一的区别是过期时间是以毫秒而不是以秒为单位。
返回值
总是返回 "OK"
示例
1 | redis> PSETEX mykey 1000 "Hello" |
(END)
Author: Johnson Lin
Copyright Notice: All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.
Related Articles
2023-06-04
Redis SUBSTR 命令
从 Redis 2.0.0 版本开始,此命令被标记为已废弃。在迁移或编写新的代码时,可以使用 GETRANGE 命令替代。 语法1SUBSTR key start end 可用版本 ≥ 1.0.0 时间复杂度 $O(N)$ 其中 N 是返回字符串的长度。复杂度最终是由返回的长度决定的,但是由于从现有的字符串中创建一个子串的代价是非常低的,对于小的字符串可以认为是 $O(1)$。 ACL类别 @read, @string, @slow 返回存储在 key 中的字符串值的子串,由偏移量 start 和 end 决定(两者均包括在内)。负的偏移量可以用来提供一个从字符串的末尾开始的偏移量。所以 -1 表示最后一个字符,-2 表示倒数第二个,以此类推。 该命令通过将结果范围限制为字符串的实际长度来处理超出范围的请求。 返回值返回存储在 key 中的字符串值的子串。 示例 112345redis> SET user "JOHNSON LIN"OKredis> SUBSTR user 1 2"OH" 示例 2使用负的偏移量: 1234...
2023-06-04
Redis SETNX 命令
从 Redis 2.6.12 版本开始,此命令被标记为已废弃。在迁移或编写新的代码时,可以使用带有 NX 参数的 SET 命令替代。 语法1SETNX key value 可用版本 ≥ 1.0.0 时间复杂度 $O(1)$ ACL类别 @write, @string, @fast 如果 key 不存在,则将 key 设置为保存字符串值。在这种情况下,它等于 SET。当 key 已经存在时,则不执行任何操作。 SETNX 是 “SET if Not eXists” 的缩写。 返回值返回一个整数: 如果 key 被成功设置,则返回 1; 如果 key 没被设置,则返回 0 示例123456redis> SETNX john "JOHNSON"(integer) 1redis> SETNX john "JOHNSON LIN"(integer) 0redis> GET john"JOHNSON" (END)
2024-10-15
Redis Set SREM Command
The Redis SREM command removes one or more members from a set. Non-existent members are ignored. An error is returned if the key is not of set type. SyntaxThe basic syntax of the SREM command is as follows: 1SREM key member [member ...] In Redis version 2.4 and earlier, SREM only accepted a single member value. Available SinceRedis version >= 1.0.0 Time ComplexityO(N) where N is the number of members to be removed. ACL Categories@write, @set, @fast Return ValueReturns the number of members...
2023-06-03
Redis LCS 命令
语法1LCS key1 key2 [LEN] [IDX] [MINMATCHLEN min-match-len] [WITHMATCHLEN] 可用版本 ≥ 7.0.0 时间复杂度 $O(N*M)$ 其中 N 和 M 分别是 s1 和 s2 的长度。 ACL类别 @read, @string, @slow LCS 命令实现了最长的公共子序列算法。请注意,这与最长公共字符串算法不同,因为字符串中的匹配字符不需要是连续的。 例如,”foo” 和 “fao” 之间的 LCS 是 “fo”,因为从左到右扫描这两个字符串,最长的共同字符集是由第一个 “f”,然后是 “o”组成。 LCS 对于评估两个字符串的相似程度非常有用。字符串可以表示很多东西。例如,如果两个字符串是 DNA 序列,LCS 将提供两个 DNA 序列之间的相似性度量。如果字符串表示某些用户编辑的某些文本,则 LCS 可以表示新文本与旧文本相比有何不同,等等。 请注意,此算法的运行时间复杂度为 $O(N×M)$,其中 N 是第一个字符串的长度,M 是第二个字符串的长度。因此,要么启动一个不同的 Redis 实例来运行这个命...
2023-06-03
Redis INCRBYFLOAT 命令
语法1INCRBYFLOAT key increment 可用版本 ≥ 2.6.0 时间复杂度 $O(1)$ ACL类别 @write, @string, @fast 将存储在 key 上的数值(字符串表示)加上浮点数 increment。 如果 key 不存在,那么 INCRBYFLOAT 会先将 key 的值设置为 0,然后再执行加法操作。 key 的值可以是整数或双精度浮点数。increment 也可以是整数或双精度浮点数。 如果发生以下情况之一,将返回一个错误: 键包含一个错误类型的值(不是一个字符串)。 当前键的内容或指定的增量不能被解析为双精度浮点数字。 如果命令执行成功,相加后的值将被存储为键的新值(取代旧值),并作为字符串返回给调用者。 key 的值和增量参数都可以以指数形式提供,但增量操作之后计算得到的最终值将按照整数部分、(如果需要)后跟小数点和代表小数部分的一定位数数字的格式存储。末尾的零总是被移除。也就是说: 1)原值和增量可以使用指数表示法,也可以不使用; 2)但是计算后的最终值会被存储为一个整数(如果需要),后跟小数点和一定位数的小数部分; 3)...

2024-09-10
Analyzing Redis Source Code: Simple Dynamic Strings (SDS) – An Efficient and Flexible String Implementation
Redis’s Requirements for StringsStrings are an essential data type in app development, frequently used to store a variety of information such as user profiles, product descriptions, and system messages. In Redis, a popular in-memory data store, both the keys and often the values in key-value pairs are represented as strings. This makes strings one of the foundational data types in Redis, contributing to its flexibility and simplicity when handling data. For instance, when saving user data su...