6. Redis基本命令
大约 2 分钟
redis key 的基本通用命令
五种数据类型的数据的结构差异所以命令也不尽相同,但是还是有一些相通的命令。所以此处先介绍下通用命令
创建一个简单的k/v对
127.0.0.1:6379> set name dpb
OK
12
在redis中,默认一共有16个数据库,编号为0-15,正常情况下,用户登录成功后,首先看到的是0号库,可以手动切换为其他库,使用
SELECT
127.0.0.1:6380> set name zhangsan
OK
127.0.0.1:6380> select 4
OK
127.0.0.1:6380[4]> get name
(nil)
127.0.0.1:6380[4]> select 0
OK
127.0.0.1:6380> get name
"zhangsan"
12345678910
DEL命令
该命令用于在 key 存在时删除 key。
127.0.0.1:6379> del name
(integer) 1
127.0.0.1:6379> del name
(integer) 0
1234
返回数字表示删除的记录数
DUMP命令
序列化给定 key ,并返回被序列化的值。
127.0.0.1:6379> dump name
"\x00\x03dpb\t\x00\xe5\xa2\xc4\xd1\xfc\xb2\xd9\xcb"
127.0.0.1:6379> dump name1
(nil)
1234
如果key不存在返回nil
EXISTS命令
检查key是否存在
127.0.0.1:6379> exists name
(integer) 1
127.0.0.1:6379> exists name1
(integer) 0
1234
1表示存在,0表示不存在
TTL命令
以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)。
127.0.0.1:6379> ttl name
(integer) -1
127.0.0.1:6379> ttl name1
(integer) -2
1234
-2表示key不存在,-1表示没有设置有效时间,不会过期,我们可以通过EXPIRE key 设置有效时间
EXPIRE
是指有效时间,单位秒
127.0.0.1:6379> expire name 120
(integer) 1
127.0.0.1:6379> ttl name
(integer) 112
127.0.0.1:6379> ttl name
(integer) 10
127.0.0.1:6379> ttl name
(integer) 7
127.0.0.1:6379> ttl name
(integer) -2
12345678910
112是剩余的有效时间。
PEXPIRE命令
同样是设置过期时间,只是单位是毫秒
127.0.0.1:6379> pexpire name 100
(integer) 1
127.0.0.1:6379> ttl name
(integer) -2
1234
100毫秒比较短暂,-2表示已经不存在了。
PTTL
和ttl命令一样,只是返回单位是毫秒
127.0.0.1:6379> pexpire name 100000
(integer) 1
127.0.0.1:6379> ttl name
(integer) 91
127.0.0.1:6379> pttl name
(integer) 84601
123456
KEYS
通过正则表达式查找符合条件的key
127.0.0.1:6379> set age 18
OK
127.0.0.1:6379> set sex 男
OK
127.0.0.1:6379> set address 深圳
OK
127.0.0.1:6379> keys *
1) "age"
2) "address"
3) "sex"
12345678910
keys * 查询所有的key
RANDOMKEY
从当前数据库中随机返回一个key
127.0.0.1:6379> randomkey
"address"
127.0.0.1:6379> randomkey
"age"
127.0.0.1:6379> randomkey
"sex"
127.0.0.1:6379> randomkey
"age"
12345678
TYPE命令
返回key对应的数据类型
127.0.0.1:6379> type name
none
127.0.0.1:6379> type age
string
127.0.0.1:6379> type sex
string
123456
不存在返回的是none
RENAME
修改key的名称
127.0.0.1:6379> rename age age1
OK
127.0.0.1:6379> exists age
(integer) 0
127.0.0.1:6379> exists age1
(integer) 1
123456
flushdb
清空当前库
127.0.0.1:6380> keys *
1) "name"
127.0.0.1:6380> flushdb
OK
127.0.0.1:6380> keys *
(empty list or set)
127.0.0.1:6380>
1234567
flushall
清空所有库