Linux中使用redis的常用命令
基本全局命令
1、KEYS
返回所有满⾜样式(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-b]llo 匹配 hallo 和 hbllo
语法: KEYS [pattern]
时间复杂度: O(N)
返回值: 匹配 pattern 的所有 key。
示例:
127.0.0.1:6379> MSET firstname Jack lastname Stuntman age 35
OK
127.0.0.1:6379> keys *name*
1) "lastname"
2) "firstname"
127.0.0.1:6379> keys a??
1) "age"
127.0.0.1:6379> keys *
1) "lastname"
2) "age"
3) "firstname"
2、EXISTS
判断某个 key 是否存在。
语法:EXISTS [key] [key …]
时间复杂度:O(1)
返回值:key 存在的个数。
127.0.0.1:6379> set key1 "hello"
OK
127.0.0.1:6379> exists key1
(integer) 1
127.0.0.1:6379> exists key2
(integer) 0
127.0.0.1:6379> set key2 "world"
OK
127.0.0.1:6379> exists key1 key2 nosuchkey
(integer) 2
127.0.0.1:6379>
3、DEL
删除指定的 key。
语法: DEL [key] [key …]
时间复杂度: O(1)
返回值: 删除掉的 key 的个数。
示例:
127.0.0.1:6379> del key1 key2 key3
(integer) 2
4、EXPIRE
为指定的 key 添加秒级的过期时间(Time To Live TTL)
语法: EXPIRE [key] [seconds]
时间复杂度: O(1)
返回值: 1 表⽰设置成功。0 表⽰设置失败
5、TTL
获取指定 key 的过期时间,秒级。
语法: TTL [key]
时间复杂度: O(1)
返回值: 剩余过期时间。-1 表⽰没有关联过期时间,-2 表⽰ key 不存在。
示例:
127.0.0.1:6379> SET mykey "Hello"
OK
127.0.0.1:6379> expire mykey 15
(integer) 1
127.0.0.1:6379> ttl mykey
(integer) 7
127.0.0.1:6379> ttl mykey
(integer) -2
127.0.0.1:6379> SET mykey "Hello"
OK
127.0.0.1:6379> ttl mykey
(integer) -1
EXPIRE 和 TTL 命令都有对应的⽀持毫秒为单位的版本:PEXPIRE 和 PTTL
6、TYPE
返回 key 对应的数据类型。
语法: TYPE [key]
时间复杂度: O(1)
返回值: none , string , list , set , zset , hash and stream 。
示例:
127.0.0.1:6379> set key1 "value"
OK
127.0.0.1:6379> lpush key2 "value"
(integer) 1
127.0.0.1:6379> sadd key3 "value"
(integer) 1
127.0.0.1:6379> type key1
string
127.0.0.1:6379> type key2
list
127.0.0.1:6379> type key3
set