Redis系列-2.全局命令和数据结构

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hjkl950217/article/details/78019908

Redis系列-2.全局命令和数据结构

文章中可能有地方描述偏差,欢迎留言指证

1.全局命令

查看所有键

keys *
这里写图片描述

这个命令会遍历所有键,然后显示出来。在线上环境不要使用,会操成卡机的情况。

获取键总数

dbsize
这里写图片描述

这个命令会读取redis内部的一个键,时间复杂度是O(1)。

检查键是否存在

exists {key}

这里写图片描述
返回的是int类型的结果。不存在返回0,存在返回1

删除键

del key [key….]

这里写图片描述

del是一个通 用命令,不管是什么数据结构类型都可以使用。带有[ ]的,表示可以再输入参数,一次执行多个命令。

键过期

expire {key } {seconds}
这里写图片描述

这个命令是为键添加过期时间,当键过期后,键会自动消失。用来做短信验证码的时间,非常好。

可以通过TTL命令来查看剩余的时间
他有三种返回值:
大于0:剩余过期时间
-1:键没有过期时间
-2:键不存在
这里写图片描述

这里写图片描述
现在已经消失了。

获取键的结构

type {key}
这里写图片描述

2.数据结构和内部编码

type只是返回的键的数据类型,但是每种数据类型内部都有2种以上的编码实现。

object encoding {key}
这里写图片描述

这样设计的好处是可以改进内部编码,当有更优秀的编码时,可以内部替换,而用户几乎不知道。同时不同的编码能在不同的场景下发挥优势。比如列表中就有linkedlist和ziplist。ziplist比较节约内存,但是当数据过长,过大时,会动态的切换为linkedlist。具体每种数据结构内部有什么,可以自行百度一下。
redis5种结构:字符串(string),哈西(hash),列表(list),集合(list),有序集合(set)。

猜你喜欢

转载自blog.csdn.net/hjkl950217/article/details/78019908
今日推荐