Redis核心技术与实战

本文最后更新于:2023年10月17日 上午

Redis数据类型和底层数据结构的对应关系

渐进式rehash

单线程Redis为什么那么快

一方面,Rdis的大部分操作在内存上完成,再加上它采用了高效的数据结构,例如哈希表和跳表,这是它实现高性能的一个重要原因。
另一方面,就是Rdis采用了多路复用机制,使其在网络IO操作中能并发处理大量的客户端请求,实现高吞吐率。

AOF配置项appendfsync 的三个可选值,即三种写回策略

  • Always 同步写回:每个写命令执行完,立马同步地将日志写回磁盘;
  • Everysec 每秒写回:每个写命令执行完,只是先把日志写到 AOF 文件的内存缓冲区,每隔一秒把缓冲区中的内容写入磁盘;
  • No 操作系统控制的写回:每个写命令执行完,只是先把日志写到 AOF 文件的内存缓冲区,由操作系统决定何时将缓冲区内容写回磁盘

日志文件太大了怎么办->AOF重写机制(重写过程是由后台线程 bgrewriteaof 来完成的,这也是为了避免阻塞主线程)

Redis 对事务原子性属性的保证情况:

  • 命令入队时就报错,会放弃事务执行,保证原子性;
  • 命令入队时没报错,实际执行时报错,不保证原子性;
  • EXEC 命令执行时实例故障,如果开启了 AOF 日志,可以保证原子性


Redis核心技术与实战
https://baymax55.github.io/2023/10/08/redis/Redis核心技术与实战/
作者
baymax55
发布于
2023年10月8日
许可协议