前言
Redis 常用的有 5 种数据结构,字符串,列表,哈希表,集合,有序集合,每一种数据结构都有自己独特的命令,但也有些通用的全局命令,本文所提到的是最基本的命令,Redis 的命令非常的多,想了解更多推荐去官方文档了解
关于 Redis 的安装,配置和启动,推荐看Centos 安装 redis【最简单】
将 Redis 启动以后,要输入命令,首先得打开 Redis 的命令行页面
redis-cli
linux 左边的目录显示为这样时,代表已经成功进入 Redis 的命令行页面
KEYS 查找指定的 key
返回所有满⾜样式(pattern)的 key。⽀持如下样式。
• h?llo 匹配 hello , hallo 和 hxllo
• h*llo 匹配 hllo 和 heeeello
• h[ae]llo 匹配 hello 和 hallo 但不匹配 hillo
• h[^e]llo 匹配 hallo , hbllo ,...但不匹配 hello
• h[a-c]llo 匹配 hallo ,hbllo,hcllo
语法:
KEYS pattern
如 keys h?llo
时间复杂度:O(N)
返回值:匹配 pattern 的所有 key。
EXISTS 判断 key 是否存在
判断某个 key 是否存在。
语法:
EXISTS key [key ...]
时间复杂度:O(1)
注意:如果同时判断 n 个 key 是否存在,时间复杂度就是 O(n)
返回值:key 存在的个数。
DEL 删除指定的 key
删除指定的 key
语法:
DEL key [key ...]
时间复杂度:O(1)
注意:如果同时删除 n 个 key ,时间复杂度就是 O(n)
返回值:删除掉的 key 的个数。
EXPIRE 为指定的 key 添加秒级的过期时间
为指定的 key 添加秒级的过期时间
语法:
EXPIRE key seconds
时间复杂度:O(1)
返回值:1 表⽰设置成功。0 表⽰设置失败。
当过期时间到了以后,该键值对会被自动删除
有读者可能会说,1 秒对计算机来说已经很长了,可不可以设置更短的过期时间?当然可以,通过 PEXPIRE 可以设置毫秒级过期时间,语法和 EXPIRE 相同
TTL 获取指定 key 的过期时间 - 秒级
获取指定 key 的过期时间,秒级。对应 EXPIRE
语法:
TTL key
时间复杂度:O(1)
返回值:剩余过期时间。-1 表⽰没有关联过期时间,-2 表⽰ key 不存在。
也可以获取毫秒级的过期时间,通过 PTTL ,语法和 TTL 完全相同
TYPE 返回 key 对应的 value 的数据类型
返回 key 对应的 value 的数据类型
语法
TYPE key
时间复杂度:O(1)
返回值: none ,string , list , set , zset , hash 和 stream 等等
FLUSHALL 清除所有数据
清除 Redis 上所有的数据
这个命令在学习阶段可以敲,但不要轻易在公司里敲,尤其是生成环境的 Redis ,搞不好会领银手镯一副