在上一篇文章《Redis列表实现原理之ziplist结构》,我们分析了ziplist结构如何使用一块完整的内存存储列表数据。 同时也提出了一个问题:如果链表很长,ziplist中每次插入或删除节点时都需要进行大量的内存拷贝,这个性能是无法接受的。 本文分析quicklist结构如何解决这个问题 ...
Redis散列类型可以存储一组无序的键值对,它特别适用于存储一个对象数据。 本文分析Redis中散列类型以及其底层数据结构 字典的实现原理。 字典 Redis通常使用字典结构存储用户散列数据。 字典是Redis的重要数据结构。除了散列类型,Redis数据库也使用了字典结构。 Redis使用Hash表实现字典结构。分析Hash表,我们通常关注以下几个问题: 使用什么Hash算法 Hash冲突如何解决 ...
2021-09-27 22:14 0 361 推荐指数:
在上一篇文章《Redis列表实现原理之ziplist结构》,我们分析了ziplist结构如何使用一块完整的内存存储列表数据。 同时也提出了一个问题:如果链表很长,ziplist中每次插入或删除节点时都需要进行大量的内存拷贝,这个性能是无法接受的。 本文分析quicklist结构如何解决这个问题 ...
散列表 Python 用散列表来实现 dict。散列表其实是一个稀疏数组(总是有空白元素的数组称为稀疏数组)。在一般书中,散列表里的单元通常叫做表元(bucket)。在 dict 的散列表当中,每个键值对都占用一个表元,每个表元都有两个部分,一个是对键的引用,一个是对值的引用。因为每个表 ...
列表类型可以存储一组按插入顺序排序的字符串,它非常灵活,支持在两端插入、弹出数据,可以充当栈和队列的角色。 本文探讨Redis中列表类型的实现。 ziplist 使用数组和链表结构都可以实现列表类型。Redis中使用的是链表结构。下面是一种常见的链表实现方式adlist.h ...
server.h/redisObject是Redis对内部存储的数据定义的抽象类型,在深入分析Redis数据类型 ...
hashmap的扩容因子是0.75 原因 参考:HashMap默认加载因子为什么选择0.75?(阿里) 1. HashMap概述 HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不 ...
1. HashMap概述 HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。 2. HashMap的数据结构 在java编程语言中,最基本的结构 ...
大家好,今天给大家介绍一下我的新书 —— 《Redis核心原理与实践》。 后端开发的同学应该对Redis都不陌生,Redis由于性能极高、功能强大,已成为业界非常流行的内存数据库。 《Redis核心原理与实践》这本书深入地分析了Redis常用特性的内部机制与实现方式,大部分内容源自对Redis ...
Redis支持事务机制,但Redis的事务机制与传统关系型数据库的事务机制并不相同。 Redis事务的本质是一组命令的集合(命令队列)。事务可以一次执行多个命令,并提供以下保证: (1)事务中的所有命令都按顺序执行。事务命令执行过程中,其他客户端提交的命令请求需要等待当前事务所有命令执行完成后再 ...