3.通用指令
3.1 Key通用命令
3.1.1 key 特征
| key是一个字符串,通过key获取redis中保存的数据 |
| key应该设计哪些操作? |
| 对于key自身状态的相关操作,例如:删除,判定存在,获取类型等 |
| 对于key有效性控制相关操作,例如:有效期设定,判定是否有效,有效状态的切换等 |
| 对于key快速查询操作,例如:按指定策略查询key |
| …… |
3.1.2 key 基本操作
删除指定key
获取key是否存在
获取key的类型
3.1.3 key 扩展操作(时效性控制)
为指定key设置有效期
| expire key seconds |
| pexpire key milliseconds |
| |
| |
| expireat key timestamp |
| pexpireat key milliseconds-timestamp |
获取key的有效时间
| ttl key |
| 返回三种状态 |
| (integer)20 表示访问的key剩余20存活时间 |
| (integer)-1 表示访问的key存在 (key没设置有效时长) |
| (integer)-2 表示访问的key不存在 |
| |
| pttl key |
切换key从时效性转换为永久性
| persist key /pəˈsɪst/ 存留、持续 |
3.1.4 key 扩展操作(查询模式)
查询key
| 查询模式规则 |
| * 匹配任意数量的任意符号 ? 配合一个任意符号 [ ] 匹配一个指定符号 |
| keys * 查询所有 |
| keys it* 查询所有以it开头 |
| keys *heima 查询所有以heima结尾 |
| keys ??heima 查询所有前面两个字符任意,后面以heima结尾 |
| keys user:? 查询所有以user:开头,最后一个字符任意 |
| keys u[st]er:1 查询所有以u开头,以er:1结尾,中间包含一个字母,s或t |
3.1.5 key 其他操作
为key改名
| rename key newkey |
| |
| |
| renamenx key newkey |
| |
对key内数据排序
其他key通用操作
3.2 数据库通用指令
| key 的重复问题 |
| key是由程序员定义的 |
| redis在使用过程中,伴随着操作数据量的增加,会出现大量的数据以及对应的key |
| 数据不区分种类、类别混杂在一起,极易出现重复或冲突 |
| |
| 解决方案 |
| redis为每个服务提供有16个数据库,编号从0到15 |
| 每个数据库之间的数据相互独立 |
3.2.1 db 基本操作
切换数据库
其他操作
3.2.2 db 相关操作
数据移动
| move key db 相当于剪切操作,移动后原库中数据就不存在了,并且移动要保证库中没有,有则移动失败 |
数据清除
| dbsize 查看库中key的总量 |
| flushdb 清除当前数据库中数据 |
| flushall 清除所有库中数据 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步