欢迎投稿

今日深度:

Redis命令详解-关键字

Redis命令详解-关键字


1.del key1 key2`````

加入版本 1.0.0

时间复杂度: O(n)N为要移除的key的数量。移除单个字符串类型的key,时间复杂度为O(1)。移除单个列表、集合、有序集合或哈希表类型的key,时间复杂度为O(M),M为以上数据结构内的元素数量。

如果删除的key不存在,则直接忽略。

返回值

整数:被删除的keys的数量



2.dump key

加入版本 2.6.0

时间复杂度: 查找给定键的复杂度为 O(1) ,对键进行序列化的复杂度为 O(N*M) ,其中 N 是构成 key 的 Redis 对象的数量,而 M 则是这些对象的平均大小。如果序列化的对象是比较小的字符串,那么复杂度为 O(1) 。

序列化给定 key ,并返回被序列化的值,使用 RESTORE 命令可以将这个值反序列化为 Redis 键。

序列化生成的值有以下几个特点:

  • 它带有 64 位的校验和,用于检测错误,RESTORE 在进行反序列化之前会先检查校验和。
  • 值的编码格式和 RDB 文件保持一致。
  • RDB 版本会被编码在序列化值当中,如果因为 Redis 的版本不同造成 RDB 格式不兼容,那么 Redis 会拒绝对这个值进行反序列化操作。

序列化的值不包括任何生存时间信息。

返回值

如果 key 不存在,那么返回 nil。

否则,返回序列化之后的值。




3.restore key ttl serialized-value

加入版本 2.6.0

时间复杂度: 查找给定键的复杂度为 O(1) ,对键进行反序列化的复杂度为 O(N*M) ,其中 N 是构成 key 的 Redis 对象的数量,而 M 则是这些对象的平均大小。 有序集合(sorted set)的反序列化复杂度为 O(N*M*log(N)) ,因为有序集合每次插入的复杂度为 O(log(N)) 。 如果反序列化的对象是比较小的字符串,那么复杂度为 O(1) 。

反序列化给定的序列化值,并将它和给定的 key 关联。

参数 ttl 以毫秒为单位为 key 设置生存时间;如果 ttl 为 0 ,那么不设置生存时间。

RESTORE 在执行反序列化之前会先对序列化值的 RDB 版本和数据校验和进行检查,如果 RDB 版本不相同或者数据不完整的话,那么 RESTORE 会拒绝进行反序列化,并返回一个错误。

返回值

如果反序列化成功那么返回 OK ,否则返回一个错误。



4.exists key

加入版本 1.0.0

时间复杂度: O(1)。

返回key是否存在。

返回值

整数,如下的整数结果

  • 1 如果key存在
  • 0 如果key不存在


5.expire key seconds

加入版本 1.0.0

时间复杂度: O(1)。

设置key的过期时间。如果key已过期,将会被自动删除。设置了过期时间的key被称之为volatile

在key过期之前可以重新更新他的过期时间,也可以使用PERSIST命令删除key的过期时间。

在Redis< 2.1.3之前的版本,key的生存时间可以被更新

Note that in Redis 2.4 the expire might not be pin-point accurate, and it could be between zero to one seconds out. Development versions of Redis fixed this bug and Redis 2.6 will feature a millisecond precision EXPIRE.

返回值

整数,如下的整数结果

  • 1 如果设置了过期时间
  • 0 如果没有设置过期时间,或者不能设置过期时间


6.

www.htsjk.Com true http://www.htsjk.com/shujukunews/605.html NewsArticle Redis命令详解-关键字 1.del key1 key2````` 加入版本 1.0.0 。 时间复杂度: O(n)N为要移除的key的数量。移除单个字符串类型的key,时间复杂度为O(1)。移除单个列表、集合、有序集合或哈希表类...
评论暂时关闭