keys *
查看当前库所有key
返回值:为当前库中所有key
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 # 现在redis中没有数据 127.0.0.1:6379> keys * (empty list or set)# 向redis中放三条数据 127.0.0.1:6379> set k1 value1 OK 127.0.0.1:6379> set k2 value2 OK 127.0.0.1:6379> set k3 value3 OK# 查看当前库中所有key 127.0.0.1:6379> keys * 1) "k2" 2) "k3" 3) "k1"
exists
判断key是否存在
返回值:
1 2 3 4 5 6 # 判断k1是否存在 127.0.0.1:6379> exists k1 (integer) 1# 判断key4是否存在 127.0.0.1:6379> exists key4 (integer) 0
type
查看键对应的值的类型
返回值:键对应值的类型
1 2 3 # 查看k2对应的值的类型 127.0.0.1:6379> type k2 string
del和unlink
都是删除key对应的键值对
返回值为删除的键值对个数
unlink与del的区别
del是将数据立即从库中删除
unlink仅仅是将key从keyspace元数据中删除,真正的删除会在后续异步操作
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 # 删除k3键值对 127.0.0.1:6379> del k2 (integer) 1# 查看当前所有的键 127.0.0.1:6379> keys * 1) "k3" 2) "k1"# 删除k4 127.0.0.1:6379> del k4 (integer) 0# 删除k1 127.0.0.1:6379> unlink k1 (integer) 1# 查看当前库中所有key 127.0.0.1:6379> keys * 1) "k3"# 删除k4 127.0.0.1:6379> unlink k4 (integer) 0
expire和ttl
expire:设置key对应的过期时间,以秒为单位
返回值为设置过期时间成功的键值对数
ttl:查看key的过期时间,以秒为单位
返回值
-1表示永不过期
-2表示已过期
0和正数表示实际过期时间
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 # 设置k3的过期时间为100秒 127.0.0.1:6379> expire k3 100 (integer) 1# 每隔一段时间查看k3的过期时间 # 还未过期 127.0.0.1:6379> ttl k3 (integer) 75 127.0.0.1:6379> ttl k3 (integer) 58 127.0.0.1:6379> ttl k3 (integer) 51# 已过期 127.0.0.1:6379> ttl k3 (integer) -2# 查看当前库中所有key 127.0.0.1:6379> keys * (empty array)# 设置一个永久key 127.0.0.1:6379> set k1 value1 OK# 查看k1过期时间 # 永不过期 127.0.0.1:6379> ttl k1 (integer) -1