标签: Redis

33 篇文章

thumbnail
Redis基础篇18 — stream特殊数据类型
消息队列概述 消息队列 是分布式系统中不可缺少的组件之一,主要有异步处理、应用解耦、限流削峰的功能。目前广为使用的消息队列有: RabbitMQ RocketMQ Kafka 集群:强调的是计算机的物理形态与统一管理,但有时也强调软件的集群——将同一个软件(或组件或系统)部署在集群环境的各个计算机上,这也被称为集群。 分布式:指的是将一个业务...
thumbnail
Redis基础篇17 — bitfield特殊数据类型
bitfield 概述 bitfields(位域):位域是计算机中的术语,也称 位段,它是指信息在存储时,并不需要占用一个完整的字节,而只需占用一个或几个二进制位,这样做的目的是为了节约存储空间。 在 C 编程语言中,除了基本的数据类型(char、short、int、、long、float、double)外,还有一些特殊的数据类型,如下图所示: ...
thumbnail
Redis基础篇16 — bitmap特殊数据类型
bitmap概述 除了基本的常用的五大数据类型(string、hash、list、set、zset)之外,还有其他的五大特殊数据类型: bitmap:位图 bitfield:位域 stream:流 geospatial:地理位置经纬度 HyperLogLog:一种纯数学的概率算法 bitmap 数据类型是 string 类型的拓展,其本质是一个...
thumbnail
Redis理论篇05 — quicklist
回顾 zset、hash 或 list 都直接或间接使用了 ziplist。当zset、hash 中的元素个数较少且都是短字符串时,redis 的底层会使用 ziplist 作为其底层的数据。而 list 则使用了 quicklist 这种数据结构。 关于 list 底层数据结构的实现,随着版本的更替有所不同。 早期版本使用 linkedlist...
thumbnail
Redis理论篇04 — skiplist
回顾 zset、hash 或 list 都直接或间接使用了 ziplist。当zset、hash 中的元素个数较少且都是短字符串时,Redis 的底层会使用 ziplist 作为其底层的数据。而 list 则使用了 quicklist 这种数据结构。 在配置文件中,有相关的配置参数: 192.168.100.3:6379> config ge...
thumbnail
Redis理论篇03 — ziplist和listpack
关于 list 关于 list 底层数据结构的实现,随着版本的更替有所不同。 早期版本使用 linkedlist(双端列表)和 ziplist(压缩列表) 从 redis 3.2 开启,使用 linkedlist + ziplist 组成的 quicklist。 从 redis 7.0 开始,还是使用 quicklist,只不过将 ziplist...
thumbnail
Redis理论篇02 — hash数据类型的底层
回顾 在前面的文章《Redis基础篇11 — 使用命令(三)对 value 的操作命令》中我们介绍了 hash 数据类型的使用,本篇文章将带您了解 hash 数据类型的底层。 我们说 string 数据类型时,其结构为: key <---> value 而针对 hash 数据类型,它的结构为: key <---> value...
thumbnail
Redis理论篇01 — SDS
回顾 前面提到——「Redis 当中的字符串和 MySQL 当中的字符(char、varchar)以及 JAVA 当中的字符串(string)还不太一样,这涉及到一个东西——简单动态字符串(SDS,simple dynamic string)」 前面还提到: string 数据类型中,key 和 value 都是 string 类型 hash 数...
thumbnail
Redis基础篇14 — 使用命令(六)对 value 的操作命令
sort set (zset) 简述 前面提到,set 这种数据类型具有 无序性 和 不可重复性(或者称 唯一性) ,即在 set 数据类型的底层中,其仅存储 key(string 类型),不存储 value(因为都是 nil) sort set (有序集合)的说明: 会对集合中的每一个成员进行排序。因为 sort set 中的每一个成员都关联一个…