redis数据结构

简介

redis是KV型NoSQL,基于键值对中的值,提供了5中数据结构:string、list、zset、hash、set,每种数据结构都有多种底层编码实现,在合适的场景选择合适的内部编码
在这里插入图片描述

Redis全局命令
命令命名描述
keys *查看所有键,时间复杂度O(N),会遍历所有键,当保存了大量key时,线上环境禁止使用,需要耗费非常多时间
dbsize键总数,时间复杂度O(1),不会遍历所有键得到总数,直接访问内部的键总数的变量
exists key检查键是否存在,存在返回1,不存在返回0
del key [key…]del是通用命令,无论值是什么数据类型,都可以将其删除,返回成功删除键的个数
expire key seconds对键添加过期时间,超过过期时间后会自动删除键
ttl key返回键的剩余过期时间,-1表示键没设置过期时间,-2键不存在
type key键的数据结构类型,键不存在,返回none
object encoding key查询内部编码
redis数据结构选择

对外有5种数据结构,对内每种数据结构有多种编码实现,这样有两个好处:
一是使得外部数据结构和内部编码实现进行解耦,这样改进内部编码的话,对外的数据结构和命令是没有影响的
二是多种编码实现可以在不同的场景下发挥各自的优势,例如ziplist比较节省内存,但在列表元素比较多的时候,性能会下降,这时候redis会将列表类型的内部实现转换成linkedlist。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值