首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Redis全局命令

Redis全局命令

作者头像
行 者
发布2018-03-26 15:37:21
8600
发布2018-03-26 15:37:21
举报
文章被收录于专栏:运维技术迷运维技术迷

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

查看所有键
语法:keys *
[root@vultr ~]# redis-cli 
127.0.0.1:6379> keys * 
 1) "d"
 2) "nihao"
 3) "c"
 4) "hello"
 5) "redis"
 6) "lianst"
 7) "mylist"
 8) "b"
 9) "a"
10) "lian"
查看键总数
语法:dbsize
[root@vultr ~]# redis-cli 
127.0.0.1:6379> keys * 
 1) "d"
 2) "nihao"
 3) "c"
 4) "hello"
 5) "redis"
 6) "lianst"
 7) "mylist"
 8) "b"
 9) "a"
10) "lian"
127.0.0.1:6379> dbsize
(integer) 10

dbsize命令在计算键总数的时候不会遍历所有键,而是直接获取redis内置的键总数变量,所以dbsize命令的时间复杂度是0(1)(时间复杂度常用大O符号表述,不包括这个函数的低阶项和首项系数)。而keys命令会遍历所有键,所以他的时间复杂度是O(n),当redis保存大量键时,线上环境禁止使用。

检查键是否存在

检查键是否存在使用exists key查看,如果键存在则返回1,不存在就返回0。

语法:exists key
127.0.0.1:6379> keys *
 1) "d"
 2) "nihao"
 3) "c"
 4) "hello"
 5) "redis"
 6) "lianst"
 7) "mylist"
 8) "b"
 9) "a"
10) "lian"
127.0.0.1:6379> exists hello
(integer) 1
127.0.0.1:6379> exists linux
(integer) 0
删除键

del是一个通用命令,无论值是什么数据结构类型,del命令都可以将其删除,如下所示:

语法:del key | del key1 key2 key3 ...
127.0.0.1:6379> keys *
1) "nihao"
2) "c"
3) "hello"
4) "redis"
5) "lianst"
6) "mylist"
7) "b"
8) "a"
9) "lian"
127.0.0.1:6379> del nihao 
(integer) 1
127.0.0.1:6379> exists nihao
(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 vultr
(integer) 0

同时,del命令可以支持删除多个键:

127.0.0.1:6379> keys *
1) "c"
2) "hello"
3) "redis"
4) "lianst"
5) "b"
6) "a"
7) "lian"
127.0.0.1:6379> del c hello a b 
(integer) 4
127.0.0.1:6379> keys *
1) "redis"
2) "lianst"
3) "lian"
键过期
语法:expires key seconds

redis支持对键添加过期时间,当超过过期时间后,会自动删除键,例如为键hello设置10秒过期的时间:

127.0.0.1:6379> set hello world
OK
127.0.0.1:6379> expire hello 10
(integer) 1

ttl命令会返回键的剩余过期时间,他有3中返回值:

  • 大于等于0的证书:键剩余的过期时间
  • -1:键没有设置过期的时间
  • -2:键不存在

可以通过ttl命令来观察键hello的剩余过期时间:

127.0.0.1:6379> ttl hello
(integer) 4  # 还剩4秒
127.0.0.1:6379> ttl hello
(integer) 3  # 还剩3秒
127.0.0.1:6379> ttl hello
(integer) -2  # 返回结果为-2,说明键hello已经被删除了
查看键的数据结构类型
语法:type key

例如键hello是字符串类型,返回结果为string。键mylist是列表类型,返回结果是list。

127.0.0.1:6379> set hello world
OK
127.0.0.1:6379> type hello
string
 
127.0.0.1:6379> rpush mylist a b c d e f g
(integer) 7
127.0.0.1:6379> type mylist
list

如果键不存在,则返回none。

127.0.0.1:6379> type lian
none
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 查看所有键
  • 查看键总数
  • 检查键是否存在
  • 删除键
  • 键过期
  • 查看键的数据结构类型
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档