摘要:
缓冲区(buffer),是内存空间的一部分。也就是说,在内存空间中预留了一定的存储空间,这些存储空间用来缓冲输入或输出的数据,这部分预留的空间就叫做缓冲区。 一、Redis缓冲区溢出影响 在Redis中,主要有三个场景用到了缓冲区的概念。 在客户端和服务器端之间进行通信时,用来暂存客户端发送的命令数 阅读全文
摘要:
List(版本3.2之前)、Hash 和 Sorted Set 这三种数据类型,都可以使用压缩列表(ziplist)来保存数据。 新版本Redis的quickList底层也是采用zipList支持,Redis版本更新频繁,本文不保证时效性。 一、ziplist结构 ziplist 是一个特殊双向链表 阅读全文
摘要:
通常我们如果要设计一个 Hash 表,那么我们需要考虑这几个问题: 有没有并发操作 Hash冲突如何解决 以什么样的方式扩容 对 Redis 来说,首先它是单线程的工作模式,所以不需要考虑并发问题。 想实现一个性能优异的 Hash 表,就要重点解决哈希冲突和 rehash 开销这两个问题。 一、哈希 阅读全文