Redis键(key)
- 设置key-value
set key value
- 获取指定key的value
get key
- 查看当前库所有key
keys *
- exists key判断某个key是否存在,1–存在,0–不存在
exists key
- 查看key是什么类型
type key
- 删除指定的key数据
del key
- 删除指定的key(s),若key不存在则该key被跳过。但是,相比DEL会产生阻塞,该命令会在另一个线程中回收内存,因此它是非阻塞的。 这也是该命令名字的由来:仅将keys从keyspace元数据中删除,真正的删除会在后续异步操作。
unlink key
- 为给定的key设置过期时间
expire key 时间
- 创建key时设置过期时间
#设置10秒过期key
set key value EX 10
参数
NX:当数据库中key不存在时,可以将key-value添加数据库
XX:当数据库中key存在时,可以将key-value添加数据库,与NX参数互斥
EX:key的超时秒数
PX:key的超时毫秒数,与EX互斥
- 查看还有多少秒过期,-1表示永不过期,-2表示已过期
ttl key
- 移除给定key的生存时间,将这个 key 从『易失的』(带生存时间 key )转换成『持久的』(一个不带生存时间、永不过期的 key )。
persist key
- 随机获取一个key
randomkey
- 命令切换数据库
select
- 查看当前数据库的key的数量
dbsize
- 清空当前库
flushdb
- 通杀全部库
flushall
- 将当前数据库的 key 移动到给定的数据库 db 当中。如果当前数据库(源数据库)和给定数据库(目标数据库)有相同名字的给定 key ,或者 key 不存在于当前数据库,那么 MOVE 没有任何效果。
move key 数据库索引
- 重命名key
rename oldKeyName(旧键名) newKeyName(新键名)
演示
#设置键k1 值v1
127.0.0.1:6379> set k1 v1
OK
#判断k1是否存在
127.0.0.1:6379> exists k1
#返回1表示存在
(integer) 1
#查看当前库所有键
127.0.0.1:6379> keys *
1) "k1"
#获取k1的值
127.0.0.1:6379> get k1
"v1"
#给k1设置60秒后过期
127.0.0.1:6379> expire k1 60
#返回1设置成功
(integer) 1
#查看k1还有多久过期
127.0.0.1:6379> ttl k1
(integer) 48
127.0.0.1:6379> ttl k1
(integer) 46
#移除k1过期时间
127.0.0.1:6379> persist k1
(integer) 1
127.0.0.1:6379> ttl k1
(integer) -1
#删除k1
127.0.0.1:6379> del k1
#删除成功
(integer) 1
127.0.0.1:6379> get k1
#表示当前库没有k1这个键
(nil)
127.0.0.1:6379> keys *
#表示当前库没有key
(empty array)
#查看当前库有多少个key
127.0.0.1:6379> dbsize
(integer) 0
127.0.0.1:6379> set k1 v1
OK
127.0.0.1:6379> dbsize
(integer) 1
127.0.0.1:6379> get k1
"v1"
#清空当前库
127.0.0.1:6379> flushdb
OK
127.0.0.1:6379> dbsize
(integer) 0
127.0.0.1:6379> keys *
(empty array)
127.0.0.1:6379> set k1 v1
OK
#切换到索引为1的库
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> set k2 v2
OK
127.0.0.1:6379[1]> select 3
OK
127.0.0.1:6379[3]> set k3 v3
OK
127.0.0.1:6379[3]> dbsize
(integer) 1
127.0.0.1:6379[3]> select 1
OK
127.0.0.1:6379[1]> dbsize
(integer) 1
127.0.0.1:6379[1]> flushall
OK
127.0.0.1:6379[1]> dbsize
(integer) 0
127.0.0.1:6379[1]> select 0
OK
127.0.0.1:6379> dbsize
(integer) 0
127.0.0.1:6379> set db0 value
OK
#将当前库的db0移到索引为1的库
127.0.0.1:6379> move db0 1
(integer) 1
127.0.0.1:6379> dbsize
(integer) 0
127.0.0.1:6379> keys *
(empty array)
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> dbsize
(integer) 1
127.0.0.1:6379[1]> keys *
1) "db0"
127.0.0.1:6379[1]> get db0
"value"
127.0.0.1:6379[1]> move db0 0
(integer) 1
127.0.0.1:6379[1]> dbsize
(integer) 0
127.0.0.1:6379[1]> select 0
OK
127.0.0.1:6379> get db0
"value"
3重命名db0
127.0.0.1:6379> rename db0 key
OK
127.0.0.1:6379> keys key
1) "key"
127.0.0.1:6379> keys *
1) "key"
127.0.0.1:6379> get key
"value"