标签: Redis

27 篇文章

thumbnail
Redis进阶篇03 — 管道
管道概述 Q:什么是管道? 一种通过一次发出多个命令而无需等待每个命令响应的技术,其目是用来提高 Redis 的性能。在官方网站上会有更多的信息可以参阅—— https://redis.io/docs/manual/pipelining/ # 比如我要存放 3 个 KV 对,如果使用 set 命令,需要交互三次 192.168.100.3:6379...
thumbnail
Redis进阶篇02 — 事务
RDBMS 中的事务 众所周知,关系型数据库的事务拥有四大要素/属性: A :原子性(atomicity,或称不可分割性),事务中的操作要么都发生,要么都不发生,是一个不可分割的工作单位; C :一致性(consistency),指数据的规则在事务前后是保持一致的 I :隔离性(isolation,又称独立性),就是指一个事务的执行不会被其他事务...
thumbnail
Redis进阶篇01 — 持久化
基本概述 持久化:在 Redis 当中,将某一时刻内存中的数据保存到磁盘的过程,我们称为 「持久化」 或 「快照持久化」。默认情况下,保存的文件名称为 dump.rdp。当 Redis 实例启动后,会自动读取 dump.rdb 中的数据并将其加载到内存当中进行数据的恢复。如果要完全禁用 RDB 持久化,可在配置文件这样配置——save "...
thumbnail
Redis基础篇19 — geospatial特殊数据类型
基本地理知识 如同 ES 中的 geo_point 字段类型,geospatial 是一种使用经纬度标识位置的数据类型。在一些使用地理位置定位的应用中特别常用,例如打车时的地理位置坐标、发快递时填写的发件人地址、外卖附近的店铺、地图中附近的加油站、汽车地图导航等等。 地球是一个三维的球体,但是人们为了标识地理位置的某一位置,使用了二维的坐标轴系统(...
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...