Redis_02_键管理

@

键管理

管理键

(1)重命名键

RENAME 原键名 新键名

1)重命名成功后返回OK;

2)重命名后,原键会被del命令删除;

3)若新键是已存在的键,则原键的值会覆盖新建的值;


(2)重命名键(但新键必须是不存在)

RENAMENX 原键名 新键名

1)重命名成功后返回OK(返回0则代表未成功);

2)重命名后,原键会被del命令删除;


(3)删除键

DEL 键1 键N

1)返回成功删除值的个数;

2)直接删除键,但删除多层数据结构的键时存在阻塞风险;


(4)删除多层数据结构键(lazy free模式,保证不会被阻塞)

UNLINK 键1 键N

1)返回成功删除值的个数;

2)当多层数据结构值个数多于64个时,通过异步删除(先删除值后删除键);


(5)返回指定键的值类型

TYPE 键

1)若键未定义或不存在,则返回none;


(6)查看该键的空闲时间

OBJCET IDLETIME 键

1)该查看不会更新值的lru字段(不更新最后一次被访问时间)


(7)查看键被引用的次数

OBJCET REFCOUT 键

1)若对象为整数且范围在0~9999之间可使用共享对象池以节省内存


(8)命令重命名

RENAME-COMMAND 命令 名称

1)修改后命令原名称不可用,只能使用别名;

2)若修改CONFIG命令,则会导致哨兵不可用;


键过期

键过期:指定键的存活时间(超过时间,自动删除该键)

(1)设定键的过期时间为N秒(执行该命令后开始计时)

EXPIRE 键 N

1)EXPIREAT命令同理,其N相对于时间戳(1970/01/01);

2)对于已存在过期时间的键,执行SET命令会去除其过期时间;

3)Redis不支持对二级数据结构内部值设定过期时间(如:哈希和列表);


(2)设定键的过期时间为N毫秒(执行该命令后开始计时)

PEXPIRE 键 N

1)PEXPIREAT命令同理,其N相对于时间戳(1970/01/01);

//Redis内部均通过PEXPIREAT命令实现


(3)返回指定键的秒级过期时间

TTL 键

1)返回结果有以下3种情况:

返回值 含义
> 0 剩余过期时间
-1 无过期时间
-2 键不存在

(4)返回指定键的毫秒级过期时间

PTTL 键

1)返回结果有以下3种情况:

返回值 含义
> 0 剩余过期时间
-1 无过期时间
-2 键不存在

遍历键

(1)返回Redis中所含键的总数

DBSIZE

1)通过内值变量直接获取并返回,时间复杂度为O(1);


(2)随机返回一个键

RANDOMKEY


KEYS

KEYS:直接式遍历地匹配正则表达式指定键(一次性执行)

1)时间复杂度为O(n),所以执行该命令可能导致Redis阻塞;

2)本质:多次调用SCAN命令


KEYS命令格式:KEYS 正则表达式

1)常用符号如下:

符号 含义
* 任意多个字符
一个字符
[字符1, 字符N] 匹配字符1和字符N
\x 转义字符

SCAN

SCAN:渐进式遍历地匹配正则表达式指定键(多次执行)

1)每次SCAN命令的执行时间复杂度均为O(1),不存在Redis阻塞风险;

2)SCAN命令只能用于遍历单级键,多级数据结构需使用特定命令;

//HSCAN、SSCAN、ZSCAN可分别遍历哈希、集合、有序集合(用法等同)


SCAN命令格式:SCAN 游标值 选项

1)游标值:当前遍历所执行到的位置,下次可从该位开始(0代表结束);

2)返回结果:匹配成功的键和游标值;

选项 含义
MATCH 指定正则表达式
COUNT 指定每次遍历键的个数 (默认值10)

//若遍历过程中存在键的增删改,则不能保证遍历结果的完整性


迁移键

MOVE

MOVE:Redis内部数据库之间的键迁移

1)MOVE命令将当前数据库中的指定键迁移到指定数据库中;

2)命令格式:MOVE 键 数据库


DUMP/RESTORE

DUMP/RESTORE:不同Redis之间的键迁移

1)迁移过程是非原子性(通过客户端分步完成);

2)迁移过程需保证多个客户端连接的稳定性和持久性;


源Redis执行:DUMP 键

目标Redis执行:RESTORE 键 过期时间N 序列码

1)DUMP命令根据指定键生成序列码(RDB格式)(源Redis执行);

2)RESTORE命令根据序列码在Redis上生成键值对(目标Redis执行);


MIGRATE

MIGRATE:DUMP/RESTORE和DEL命令的组合体

1)MIGRATE命令可实现迁移多个键,且具有原子性;


MIGRATE命令格式:

(1)迁移单个键

MIGRATE 目标IP 目标端口 键 目标数据库号 过期时间 选项


(2)迁移多个键

MIGRATE 目标IP 目标端口 "" 目标数据库号 过期时间 键1 键N 选项

选项 含义
COPY 迁移后保留键 (默认迁移后删除)
REPLACE 强制迁移键 (默认目标Redis含有相同键,不会迁移)

MIGRATE命令的执行流程如下:

1)源Redis指定信息(目标Redis和迁移信息等);

2)源Redis向目标Redis发送迁移数据;

3)目标Redis解析数据并复制;

4)解析数据成功后,返回OK;

5)源Redis选择性是否删除已被迁移键;


如:MIGRATE命令的执行流程图
在这里插入图片描述

posted @ 2022-04-09 14:56  爱和可乐的w  阅读(50)  评论(0编辑  收藏  举报