Redis key键命令

2019-08-19  本文已影响0人  Devops海洋的渔夫

redis是基于key -- value 存储的 NoSQL 数据库,那么下面来看看关于key的键命令。

键命令

查找键,参数⽀持正则表达式

keys pattern

keys *

127.0.0.1:6379[1]> KEYS *
1) "name"
2) "a1"
3) "a2"
4) "a3"
127.0.0.1:6379[1]> 

keys a*

127.0.0.1:6379[1]> KEYS a*
1) "a1"
2) "a2"
3) "a3"
127.0.0.1:6379[1]> 

判断键是否存在,如果存在返回1,不存在返回0

exists key1

exists a1

127.0.0.1:6379[1]> exists a1
(integer) 1
127.0.0.1:6379[1]> exists a2
(integer) 1
127.0.0.1:6379[1]> exists name
(integer) 1

## 查看不存在的a4键返回 0 
127.0.0.1:6379[1]> exists a4
(integer) 0
127.0.0.1:6379[1]> 

查看键对应的value的类型

type key

type a1

# 查看a1的value类型为string
127.0.0.1:6379[1]> type a1
string

# 设置一个hash类型的value
127.0.0.1:6379[1]> hset a5 name huangw 
(integer) 1
# 查看a5 value的类型为 hash
127.0.0.1:6379[1]> type a5
hash
127.0.0.1:6379[1]> hget a5 name
"huangw"
127.0.0.1:6379[1]> 

删除键及对应的值

del key1 key2 ...

del a2 a3

127.0.0.1:6379[1]> mget a1 a2 a3
1) "python"
2) "java"
3) "c"
127.0.0.1:6379[1]> del a2 a3
(integer) 2
127.0.0.1:6379[1]> mget a1 a2 a3
1) "python"
2) (nil)
3) (nil)
127.0.0.1:6379[1]> 

设置过期时间,以秒为单位

expire key seconds

expire a1 3

# 获取当前a1的值
127.0.0.1:6379[1]> get a1
"python"

# 设置a1的值3秒后过期
127.0.0.1:6379[1]> EXPIRE a1 3
(integer) 1

# 在3秒内查询a1的值
127.0.0.1:6379[1]> get a1
"python"
127.0.0.1:6379[1]> get a1
"python"

# 在3秒后查询a1的值以及value类型
127.0.0.1:6379[1]> get a1
(nil)
127.0.0.1:6379[1]> type a1
none
127.0.0.1:6379[1]> 

查看有效时间,以秒为单位

ttl key

ttl bb

# 设置bb的值过期时间为10秒
127.0.0.1:6379[1]> setex bb 10 bb
OK
# 查看bb的剩余有效时间
127.0.0.1:6379[1]> ttl bb
(integer) 7
127.0.0.1:6379[1]> ttl bb
(integer) 6
127.0.0.1:6379[1]> ttl bb
(integer) 6
127.0.0.1:6379[1]> ttl bb
(integer) 4
127.0.0.1:6379[1]> ttl bb
(integer) 3
127.0.0.1:6379[1]> ttl bb
(integer) 1
127.0.0.1:6379[1]> ttl bb
(integer) 0
127.0.0.1:6379[1]> ttl bb
(integer) -2
# 查看过期后的值为nil
127.0.0.1:6379[1]> get bb
(nil)
127.0.0.1:6379[1]> ttl bb
(integer) -2
上一篇 下一篇

猜你喜欢

热点阅读