您的位置:首页 > 理论基础 > 数据结构算法

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

2017-09-18 15:42 274 查看

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

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

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)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: