Redis的key(键)相关操作
想学习更多Redis相关知识,请点击右侧链接查看Redis学习笔记:点我查看
以下是Redis键(以下称作 key)的相关操作:
1. 添加一个key:
1 |
|
本文中涉及到的value默认都是Redis字符串(String)类型。
2. 获取key对应的value:
1 |
|
3. 查看当前库所有的 key名称:
1 |
|
这里我的库中有 3 个 key:k1、k2、k3:
4. 判断某个 key 是否存在:
1 |
|
如果 key 存在,那么返回 1,不存在则返回 0:
5. 查看当前 key 的类型:
1 |
|
这里我们查看一下键 k1 的类型,它是 string(字符串)类型:
6. 删除指定的 key:
1 |
|
删除成功返回 1,失败返回 0:
7. 非阻塞删除:仅仅将当前 key 在 keyspace 元数据中删除,真正删除操作会在后续的异步中操作。
1 |
|
如果删除成功,返回结果是 1,失败则返回 0:
DEL 命令在删除 key 对应的数据的时候,默认是阻塞的,如果不彻底将数据删除,后续的操作将无法执行。在一些高并发系统中,这样的删除方式可能会影响到程序的正常运行。而 UNLINK 命令做到数据在“表面上”删除,真正的数据删除在后续的异步中操作。
UNLINK 命令类似于 Windows 中的普通删除,如果我们想删除一个大文件,直接按Delete键会将其快速将文件放入到回收站,后续想删除直接鼠标右键点击清空回收站就真正执行删除数据操作;而 DEL 命令则类似选中这个文件直接按ShiftDelete键不通过回收站直接彻底删除文件。
8. 查看当前 key 过期时间(单位:秒):
1 |
|
-1 表示当前 key 永不过期,-2 表示当前 key 已过期:
9. 为给定的 key 设置过期时间(单位:秒):
1 |
|
10. 将当前数据库的 key 移动到指定的数据库 db 当中:
1 |
|
如果目标库中已经存在key,那么执行上述命令的结果是0;不存在的时候,返回结果是1。
11. 切换数据库[0-15],默认使用的索引值为 0 数据库(这里我称之为db0,索引值为5的数据库称之为db5,以此类推):
1 |
|
Redis 默认有 16 个数据库,编号范围是[0, 15],在 Redis 配置文件 redis.conf 中有相应配置可以作证上述说法:
配置数据库的数量,默认的数据库是索引为 0 的数据库(db0),你可以通过select <dbid>
命令切换到另一个数据库,数据库 id(dbid)范围是 0 到 databases - 1(在配置文件中 databases 对应的值是 16),即可切换的数据库范围在[0, 15]这个区间内。
12. 查看当前数据库 key 的数量:
1 |
|
- 清空当前库:
1 |
|
14. 清空全部库:
1 |
|