redis数据类型keys详解

Redis概述与安装

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"

Redis数据类型之String

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值