Redis启动命令和5种数据类型

本地服务器启动redis命令

redis-cli

String底层数据结构

Redis的String类型,其实底层是由三种数据结构组成的:

int: 整数且小于二十位整数以下的数字数据才会使用这个类型

embstr (embedded string,表示嵌入式的String):代表embstr格式的SDS(Simple Dynamic String 简单动态字符串),保存长度小于44字节的字符串。

raw :保存长度大于44的字符串

Hash数据结构

hash 类型是 Redis 常用数据类型之一,其底层存储结构有两种实现方式,当存储的数据量较少的时,hash 采用 ziplist(压缩链表)作为底层存储结构,此时要求符合以下两个条件:

哈希对象保存的所有键值对(键和值)的字符串长度总和小于 64 个字节。

哈希对象保存的键值对数量要小于 512 个。

dict(字典结构),该结构类似于 Java 的 HashMap,是一个无序的字典,并采用了数组和链表相结合的方式存储数据。

 

List列表数据结构

相当于 Java 语言中的 LinkedList 结构,是一个链表而非数组,其插入、删除元素的时间复杂度为 O(1),但是查询速度较慢,时间复杂度为 O(n)。

当列表中存储的元素较少时,Redis 会使用一块连续的内存来存储这些元素,这个连续的结构被称为 ziplist(压缩列表),它将所有的元素紧挨着一起存储。

而当数据量较大时,Redis 列表就会是用 quicklist(快速链表)存储元素。

Set数据结构

Redis set 采用了两种方式相结合的底层存储结构,分别是 intset(整型数组)与 hash table(哈希表),当 set 存储的      集合内保存的成员数量不超过 512 个,且数据元素都是整数的话,类型为intset,否则为hashtable。

 

ZSet数据结构

Redis zet 采用了两种方式相结合的底层存储结构,分别是 zipList(压缩列表)和 skipList(跳跃列表),当 zset 存储的集合内保存的成员数量不超过 128 个,每个 member (成员)的字符串长度都小于 64 个字节,使用压缩列表。

当有序结合不满足使用压缩列表的条件时,就会使用 skipList(跳跃列表) 结构来存储数据。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值