Redis原理简述

Redis原理简述

Redis 有哪些特性

1. 特性

  • key-value 型内存数据库
  • 单线程——原子化操作
  • 支持lua脚本
  • 发布与订阅
  • 可持久化
  • 逐出与过期
  • ……

2. 持久化

  • RDB:经过压缩的二进制文件;fork子进程进行操作
  • AOF:保存所有写命令;先写缓存再同步至AOF文件;文件过大时会触发AOF重写

3. 过期:key到达了TTL时间

  • 惰性删除 - 读、写操作前判断
  • 定期删除 - 在定时事件中删除
  • 抽样删除:配置为定期删除时,每次只选择一部分key来判断是否已经过期

4. 逐出:执行write但内存达到上限时,强制将一些key删除

  • 逐出范围:allkeys、volatile
  • 逐出策略:LRU、random、ttl
  • 每次写入前都会判断,逐出会阻塞请求
  • 抽样删除:LRU和ttl都是抽样进行计算的

Redis 启动与初始化

Redis原理简述_第1张图片

Redis内部数据结

你可能感兴趣的:(redis,数据库,缓存)