redis的key命令总结

redis的key命令总结

1.set

设置key-value

如果key已经存在,会被覆盖

127.0.0.1:6379> set k1 v1
OK

2. key查询相关

(1) keys *

查看所有key

127.0.0.1:6379> keys *
1) "k1"

(2)使用 * 表示 0 或多个字符

keys k*:查看数据库中所有以k开头的key

keys k*o:查看数据库中以h开头、以o结尾的key

127.0.0.1:6379> keys *name
1) "username"
127.0.0.1:6379> keys us*me
1) "username"

(3)使用 ? 表示单个

keys h?o:查看数据库中所有以h开头,以o结尾、并且中间只有一个字符的key.

127.0.0.1:6379> keys *
1) "username"
2) "k1"
127.0.0.1:6379> keys user?ame
1) "username"

(4)使用[a,b,c]表示包含[]内的字符

127.0.0.1:6379> keys *
1) "adress"
2) "address"
3) "username"
4) "k1"
127.0.0.1:6379> keys ad[abcder]ress
1) "address"

3. exists

判断key是否存在

##存在 key 返回 1,其他返回 0
127.0.0.1:6379> exists username
(integer) 1

##使用多个 key,返回存在的 key 的数量
127.0.0.1:6379> exists username address email
(integer) 2

4.move

移动key到指定数据库实例

127.0.0.1:6379> keys *
1) "adress"
2) "address"
3) "username"
4) "k1"

## 将adress移到数据库实例2
127.0.0.1:6379> move adress 2
(integer) 1

127.0.0.1:6379> keys *
1) "address"
2) "username"
3) "k1"
127.0.0.1:6379> 

5. key过期时间相关

(1) 以毫秒为单位设置key过期时间

127.0.0.1:6379> keys *
1) "address"
2) "username"
3) "k1"

##设置username的生存时间为5秒
127.0.0.1:6379> expire username 5   
(integer) 1

127.0.0.1:6379> keys *
1) "address"
2) "username"
3) "k1"
127.0.0.1:6379> keys *
1) "address"
2) "k1"

(2) 设置过期时间(UNIX时间戳)

##设置key的过期时间,时间为UNIX时间戳
127.0.0.1:6379> expireat location 1000000
(integer) 1

(3) 以秒为单位返回key剩余过期时间

以秒为单位,返回 key 的剩余生存时间(ttl: time to live)

返回值:

● -1 :没有设置 key 的生存时间, key 永不过期

● -2 :key 不存在

● 数字:key 的剩余时间,秒为单位

127.0.0.1:6379> keys *
1) "readlight"
2) "address"
3) "k1"
127.0.0.1:6379> expire readlight 600
(integer) 1
## 查询readlight的剩余生存时间
127.0.0.1:6379> ttl readlight
(integer) 595
127.0.0.1:6379> ttl address
(integer) -1
127.0.0.1:6379> ttl email
(integer) -2
127.0.0.1:6379> 

(4) 以毫秒为单位返回key剩余过期时间

127.0.0.1:6379> expire k1 600
(integer) 1
## pttl,以毫秒返回key剩余过期时间 
127.0.0.1:6379> pttl k1
(integer) 596314

(5) 取消key的过期时间,key将持久保持

##设置过期时间
127.0.0.1:6379> expire k1 6000
(integer) 1
##查看key剩余生存时间
127.0.0.1:6379> ttl k1
(integer) 5988
##取消key的过期时间
127.0.0.1:6379> persist k1
(integer) 1
127.0.0.1:6379> ttl k1
(integer) -1

6. 查询key的数据类型

查看 key 所存储值的数据类型返回值:字符串表示的数据类型.

● none (key 不存在)

● string (字符串)

● list (列表)

● set (集合)

● zset (有序集)

● hash (哈希表)

127.0.0.1:6379> keys *
1) "readlight"
2) "address"
3) "k1"

##type查询key的类型
127.0.0.1:6379> type readlight
string

7. 删除key

删除存在的 key ,不存在的 key 忽略。

返回值:数字,删除的 key 的数量

127.0.0.1:6379> del readligth
(integer) 0
127.0.0.1:6379> keys *
1) "readlight"
2) "address"
3) "k1"
127.0.0.1:6379> del k1
(integer) 1
127.0.0.1:6379> keys *
1) "readlight"
2) "address"
127.0.0.1:6379> 

8. 直接修改key名称

127.0.0.1:6379> keys *
1) "readlight"
2) "address"
127.0.0.1:6379> rename address location
OK
127.0.0.1:6379> keys *
1) "location"
2) "readlight"

9. 仅当newKey不存在时,将key修改为newKey

127.0.0.1:6379> keys *
1) "k2"
2) "k1"
3) "k3"
##直接修改key名称,不论newKey是否已经存在
127.0.0.1:6379> rename k1 k2
OK
127.0.0.1:6379> keys *
1) "k2"
2) "k3"
##如果newKey存在,则不会修改
127.0.0.1:6379> renamenx k2 k3
(integer) 0
127.0.0.1:6379> keys *
1) "k2"
2) "k3"
127.0.0.1:6379> 

10. 序列化指定key

127.0.0.1:6379> set k1 v1
OK

## dum key 序列化指定key
127.0.0.1:6379> dump k1
"\x00\x02v1\b\x00\xe6\xc8\\\xe1bI\xf3c"

127.0.0.1:6379> keys *
1) "k1"
2) "location"

11.从当前数据库随机返回一个key

127.0.0.1:6379> keys *
1) "k2"
2) "k1"
3) "k3"
127.0.0.1:6379> randomkey
"k1"
127.0.0.1:6379> randomkey
"k3"

12. flushall清空所有key

127.0.0.1:6379> flushall
2193:M 28 Sep 08:04:08.066 * DB saved on disk
OK
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值