Redis 02:全局命令

redis有五种数据结构,他们是键值对中的值,对于键来说有一些常用的通用的命令

1 查看所有键

keys *

下面插入了3对字符串类型的键值对

 127.0.0.1: 6379> set hello world
 127.0.0.1: 6379> set java jedis
 OK
 127.0.0.1: 6379> set python redis-py
 OK
keys *命令会将所有的键输出
127.0.0.1:6379> keys *
 1)"python"
 2)"java"
 3)"hello"

2.键总数

 dbsize

下面插入一个列表类型的键值对(值是多个元素组成): 

127.0.0.1: 6379> rpush mylist a b c d e g
 (integer) 7
dbsize命令会返回当前数据库中键的总数。例如当前数据库有4个键,分别是hjava、 python、 mylist,所以 dbsize的结果是4:
127.0.0.1:6379> dbsize
 (integer)4

dbsize命令在计算键总数时不会遍历所有键,而是直接获取 Redis内置的键总数变所以 dbsize命令的时间复杂度是O(1)。而keys命令会遍历所有键,所以它的时间复杂O(n),当 Redis保存了大量键时,线上环境禁止使用。
3.检查键是否存在

exists key
如果键存在则返回1,不存在则返回0:
127.0.0.1:6379> exists java
(integer)1
 127.0.0 .1: 6379> exists not_exist_key
(integer)0

4.删除键

del key [key ....]
del是一个通用命令,无论值是什么数据结构类型,del命令都可以将其删除,
面将字符串类型的键java和列表类型的键 mylist分别删除:
127.0.0.1:6379> del java
(integer) 1
127.0.0.1:6379> exists java
(integer)0
127.0.0.1:6379> del mylist
 integer) 1
 127.0.0.1: 6379> exists mylist
(integer)0
返回结果为成功删除键的个数,假设删除一个不存在的键,就会返回0:
 127.0.0.1: 6379> del not_exist_key
(integer) 0
同时del命令可以支持删除多个键:
127.0.0.1:6379>seta1
127.0.0.1:6379>setb2
 OK
127.0.0.1:6379>setc3
 OK
127.0.0.1:6379> del a b c 
 OK
(integer)3

5.键过期

expire key seconds
Redis支持对键添加过期时间,当超过过期时间后,会自动删除键,例如为键 hello设置了10秒过期时间:
127.0.0.1: 6379> set hello world
127.0.0.1:6379> expire hello 10
(integer)1
tt1命令会返回键的剩余过期时间,它有3种返回值:
大于等于0的整数:键剩余的过期时间。
-1:键没设置过期时间。
-2:键不存在
可以通过tt1命令观察键helo的剩余过期时间:
#还剩7秒
127.0.0.1:6379> ttl hello
(integer)7
#还剩1秒
127.0.0.1:6379> ttl hello
(integer)1
# 返回的结果为-2 说明键hello已经被删除了
127.0.0.1:6379> get hello
(nil)

6 键的数据类型

127.0.0.1:6379> set a b
ok
127.0.0.1:6379> type a
string

127.0.0.1:6379> set mylist a b c d
(integer)4
127.0.0.1:6379> type mylist
list

如果不存在 则返回none
127.0.0.1:6379> type not_exsit_key
none

列出的只是简单常用的一些命令

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值