Redis的key(键)相关操作

想学习更多Redis相关知识,请点击右侧链接查看Redis学习笔记:点我查看

以下是Redis键(以下称作 key)的相关操作:

1. 添加一个key:

1
SET key value

本文中涉及到的value默认都是Redis字符串(String)类型。

2. 获取key对应的value:

1
GET key

3. 查看当前库所有的 key名称:

1
KEYS *

这里我的库中有 3 个 key:k1、k2、k3:

4. 判断某个 key 是否存在:

1
EXISTS key

如果 key 存在,那么返回 1,不存在则返回 0:

5. 查看当前 key 的类型:

1
TYPE key

这里我们查看一下键 k1 的类型,它是 string(字符串)类型:

6. 删除指定的 key:

1
DEL key

删除成功返回 1,失败返回 0:

7. 非阻塞删除:仅仅将当前 key 在 keyspace 元数据中删除,真正删除操作会在后续的异步中操作。

1
UNLINK key

如果删除成功,返回结果是 1,失败则返回 0:

DEL 命令在删除 key 对应的数据的时候,默认是阻塞的,如果不彻底将数据删除,后续的操作将无法执行。在一些高并发系统中,这样的删除方式可能会影响到程序的正常运行。而 UNLINK 命令做到数据在“表面上”删除,真正的数据删除在后续的异步中操作。

UNLINK 命令类似于 Windows 中的普通删除,如果我们想删除一个大文件,直接按Delete键会将其快速将文件放入到回收站,后续想删除直接鼠标右键点击清空回收站就真正执行删除数据操作;而 DEL 命令则类似选中这个文件直接按ShiftDelete键不通过回收站直接彻底删除文件。

8. 查看当前 key 过期时间(单位:秒):

1
TTL key

-1 表示当前 key 永不过期,-2 表示当前 key 已过期:

9. 为给定的 key 设置过期时间(单位:秒):

1
EXPIRE key seconds

10. 将当前数据库的 key 移动到指定的数据库 db 当中:

1
MOVE key dbindex [0-15]

如果目标库中已经存在key,那么执行上述命令的结果是0;不存在的时候,返回结果是1。

11. 切换数据库[0-15],默认使用的索引值为 0 数据库(这里我称之为db0,索引值为5的数据库称之为db5,以此类推):

1
SELECT dbindex

Redis 默认有 16 个数据库,编号范围是[0, 15],在 Redis 配置文件 redis.conf 中有相应配置可以作证上述说法:

配置数据库的数量,默认的数据库是索引为 0 的数据库(db0),你可以通过select <dbid>命令切换到另一个数据库,数据库 id(dbid)范围是 0 到 databases - 1(在配置文件中 databases 对应的值是 16),即可切换的数据库范围在[0, 15]这个区间内。

12. 查看当前数据库 key 的数量:

1
DBSIZE

  1. 清空当前库:
1
FLUSHDB

14. 清空全部库:

1
FLUSHALL