redis入门知识第9篇-key的通用操作

1. 概述

key 是一个字符串,通过 key 获取 redis 中保存的数据,那么 key 通常存在以下的操作

  • 对于key自身状态的相关操作,例如:删除、判定是否存在、获取类型 等
  • 对于key有效控制的相关操作,例如:有效期设定、判定是否有效、有效状态的切换 等
  • 对于key快速查询操作,例如:按指定策略查询key

在本节,我们将介绍 key 的通用操作

2. key的基本通用操作

删除指定key

del key

判定key是否存在

exists key

获取 key 的类型

type key

3. key的实效性控制操作

为指定key设置有效期

# 设置key有效期为seconds秒
expire key seconds
# 设置key有效期为milliseconds毫秒
pexpire key milliseconds
# 设置key失效 的 秒级时间戳
expireat key timestamp
# 设置key失效的 毫秒级时间戳
pexpireat key milliseconds-timestamp

获取key的有效时间

# 获取key的秒级有效时间
ttl key
# 获取key的毫秒级有效时间
pttl key

对于获取有效时间的指令,key 不存在返回 -2,key 存在但是没有关联超时时间返回 -1,如果key存在并且有关联时间,则返回具体的剩余时间秒或者毫秒。

切换key从实效性转为永久性

persist key

4. key的查询操作

key可以使用正则表达式的方式进行查询,查询指令为

keys pattern

以下是常用的查询示例

  • *: 匹配任意数量的任意字符
  • ?: 批评为任意一个符号
  • []: 匹配一个指定符号
# 查询所有
keys *
# 查询所有以it开头的key
keys it*
# 查询所有以it结尾的key
keys *it
# 查询前面以两个任字符,后面以it结尾的key
keys ??it
# 查询以user:开头,任意一个字符结尾的key
keys user:?
# 查询以u开头,以er:1结尾,中间包含 s 或 t 字符的key
keys keys u[st]er:1

5. key的其他操作

将key改名

# 当 newkey 已经存在时, rename 命令将覆盖旧值
rename key newkey
# 当且仅当 newkey 不存在时,将 key 改名为 newkey
renamenx key newkey

排序

对 list, set 或sorted set 中的元素进行排序输出,sort 指令功能比较多,在本文中我们暂且 指演示简单的用户

# 对list数据倒序输出
sort key desc
# 对lsit数据顺序输出
sort key asc

查看更多通用操作

help @generic

所有原创文章采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。
您可以自由的转载和修改,但请务必注明文章来源并且不可用于商业目的。
本站部分内容收集于互联网,如果有侵权内容、不妥之处,请联系我们删除。敬请谅解!

评论已关闭

  关于博主

灵魂的一半是学识,另一半是骨子里的涵养!

  近期评论

  • 暂无评论

你是否在某个夜深人静的时刻,静静地听着Bressanone,思念着某人。—— by 小宇

每个人心里都有一段伤痕,时间才是最好的疗剂。

人总是珍惜未得到的,而遗忘了所拥有的。

退一步,并不象征我认输;放手,并不表示我放弃;微笑,并不意味我快乐!

人海中再回首,朋友真诚依旧,生命里重逢,心境平和温柔,往事如风,岁月如歌,漫漫人生路,苍桑几许,幸福几何!