Redis 通用指令 key 与 db

key通用操作

key 特征:

 key是一个字符串,通过key获取redis中保存的数据

key的相关操作:

对于key自身状态的相关操作,例如:删除,判定存在,获取类型等

对于key有效性控制相关操作,例如:有效期设定,判定是否有效,有效状态的切换等

对于key快速查询操作,例如:按指定策略查询key

  • 删除指定key
del key
  • 获取key是否存在
exists key

案例:

127.0.0.1:6379> zadd user 10 xx 20 yy 30 ww
(integer) 3
127.0.0.1:6379> EXISTS user
(integer) 1  存在
  • 获取key的类型 
type key

案例:

127.0.0.1:6379> zadd user 10 xx 20 yy 30 ww
(integer) 3
127.0.0.1:6379> type user
zset
127.0.0.1:6379> SET name haha
OK
127.0.0.1:6379> type name
string
127.0.0.1:6379> hset age uid 20
(integer) 1
127.0.0.1:6379> type age
hash

key 扩展操作(时效性控制)

  • 为指定key设置有效期
expire key seconds  秒
pexpire key milliseconds  毫秒
expireat key timestamp  时间戳
pexpireat key milliseconds-timestamp  毫秒时间戳

案例:

127.0.0.1:6379> EXPIRE name 5
(integer) 1
127.0.0.1:6379> get name
"haha"
127.0.0.1:6379> get name
(nil)
  • 获取key的有效时间
ttl key
pttl key

案例:

127.0.0.1:6379> EXPIRE name 10
(integer) 1
127.0.0.1:6379> TTL name
(integer) 4  剩余有效时间

注意: 当key没有设置有效期,ttl指令的返回值为-1, 当key设置了有效期,ttl指令返回的数字为剩余有效期,若返回-2则代表该key已过期

  • 切换key从时效性转换为永久性
persist key

案例:

127.0.0.1:6379> set name haha
OK
127.0.0.1:6379> EXPIRE name 60
(integer) 1
127.0.0.1:6379> ttl name
(integer) 55
127.0.0.1:6379> PERSIST name
(integer) 1
127.0.0.1:6379> ttl name
(integer) -1

key 扩展操作(查询key)

keys pattern  pattern是匹配规则

查询模式规则:

* 匹配任意数量的任意符号    ? 配合一个任意符号    [] 匹配一个指定符号

keys *             查询所有
keys it*           查询所有以it开头
keys *haha         查询所有以haha结尾
keys ??haha        查询所有前面两个字符任意,后面以haha结尾
keys user:?        查询所有以user:开头,最后一个字符任意
keys u[st]er:1     查询所有以u开头,以er:1结尾,中间包含一个字母,s或t

key 其他操作

  • 为key改名
rename key newkey
renamenx key newkey

数据库通用操作

key 的重复问题:
redis在使用过程中,伴随着操作数据量的增加,会出现大量的数据以及对应的key
数据不区分种类、类别混杂在一起,极易出现重复或冲突

解决方案

redis为每个服务提供有16个数据库,编号从0到15,每个数据库之间的数据相互独立

养成合理的命名规范

db 基本操作

  • 切换数据库
select index
  • 其他操作
dbsize  查看当前库中有多少key
quit  退出
ping  客户端与服务端是否连接
echo message
  • 数据移动
将数据移动到指定数据库, 前提:db中没有这个key
move key db
  • 数据清除
flushdb  清空当前库
flushall  清空所有库

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值