Redis学习总结(17)——Redis 持久化和过期机制复习
RDB
RDB 是 Redis 持久化的第一种方式。有两个 Redis 命令可以用于生成 RDB 文件,一个是 SAVE,另一个是 BGSAVE。SAVE 会阻塞 Redis 服务器进程,执行时 Redis 服务器会阻塞所有客户端发送的命令。
redis> SAVE
OK
BGSAVE 会派生出一个子进程执行,执行时仍可继续处理客户端的命令,但会拒绝客户端 SAVE 和 BGSAVE 的命令,延迟 BGREWRITEAOF 命令。
redis> BGSAVE
Background saving started
执行条件
SAVE 命令会阻塞服务器,所以只能手动执行。BGSAVE 可以在不阻塞的情况下执行,所以可以配置 save 选项让服务器每隔一段时间自动执行一次。比如我们可以向服务器提供以下配置:
save 900 1
save 300 10
save 60 10000
那么只要满足以下三个条件中的任意一个即可被执行:
- 服务器在 900 秒之内对数据库进行了至少 1 次修改。
- 服务器在 300 秒之内对数据库进行了至少 10 次修改。
- 服务器在 60 秒之内对数据库进行了至少 10000 次修改。
为了实现这一功能,服务器会维持一个记录距离上次保存之后修改的次数的 dirty 计数器和一个记录上次保存时间的 lastsave 属性。周期操作函数 serverCron 默认每个 100 毫秒就会执行一次,它的其中一项工作就是检查 save 选项设置的条件是否满足ÿ
Redis学习总结(17)——Redis 持久化和过期机制复习相关推荐
- Redis持久化与过期机制
文章目录 Redis持久化与过期机制 1. 持久化机制 1.1 RDB(默认) 1.2 AOF 2. 过期机制 2.1 根据过期策略删除数据 2.2 当内存过大装不下新数据时,将启用淘汰机制 3. 其 ...
- StackExchange.Redis学习笔记(二) Redis查询 五种数据类型的应用
StackExchange.Redis学习笔记(二) Redis查询 五种数据类型的应用 原文: StackExchange.Redis学习笔记(二) Redis查询 五种数据类型的应用 Connec ...
- Redis学习、缓存、持久化、哨兵模式
个人博客欢迎访问 总结不易,如果对你有帮助,请点赞关注支持一下 微信搜索程序dunk,关注公众号,获取博客源码 我写代码是为了更好的表达自我,这是艺术创作,而不单单是为了把事情搞定. -Antirez ...
- Redis学习(1)-基本命令与持久化机制
docker简单安装设置密码并开启持久化 docker run -d --name myredis -p 6379:6379 redis --requirepass "156967" ...
- redis 缓存过期默认时间_缓存的必知必会:一文搞懂Redis持久化和过期机制
本文主要介绍了 Redis 持久化的两种机制:RDB 和 AOF,以及键过期的策略:惰性删除和定期删除,还有 RDB.AOF 和复制功能对过期键的处理. RDB RDB 是 Redis 持久化的第一种 ...
- Redis学习篇之数据库实现和过期策略相关
参考:Redis设计与实现 事先声明:本文为对该书的总结.并参考 https://segmentfault.com/a/1190000016951866 作者:java3y 数据库相关 Redis服务 ...
- redis学习(1)之redis基础和配置主从
redis介绍 redis介绍 为什么会出现redis呢? redis特性 速度快 基于key-value 丰富的功能 简单稳定 支持的语言多 持久化 主从复制 redis应用场景 缓存 排行榜系统 ...
- Redis学习之旅--Redis的数据类型你都知道吗?
Redis学习之旅--数据类型 Redis-Key String(字符串) list(列表) Set(集合) Hash(哈希) Zset(有序集合) geospatial hyperloglog bi ...
- Redis学习(一)之redis简介
文章目录 一.NoSQL 1.什么是NoSQL 2.NoSQL四大分类 二.Redis 1.什么是Redis 2.redis-benchmark 性能测试工具 3.Redis的五大数据类型和三种特殊数 ...
最新文章
- 牛客算法周周练2 B Music Problem(DP,抽屉原理,二进制拆分)
- gcd(辗转相除法)
- Minor【 PHP框架】3.路由、控制器、视图
- mysql三范式和反三范式_数据库三范式和反三范式
- 怎样在 Markdown 中使程序代码带上行号
- 浅谈tomcat中间件的优化【转】
- 使用VMware VSphere WebService SDK进行开发 (二)——获取虚拟机cpu的使用情况
- qtdesigner设计表格_实例9 利用Qt Designer设计一个对话框
- oracle--导出、导入blob类型的字段
- android地图方位角_Android获取经纬度、计算距离、方位角
- python 3.8.0安卓_Python for Mac v3.8.0 官方最新版
- 关闭mysql服务的方法有哪些_MySQL--启动和关闭MySQL服务
- 京东私有云建设:挑战与应对之道
- 实验二+018+李滨
- 通过设置代理解决AndroidStudio无法下载gradle问题
- 典型信息化案例点评(2)
- Java Apache POI 小记(读取Word通过模板创建PPT)
- 行业json数据以及elementui级联格式
- OpenStack 虚机异常断电处理
- Kibana操作Elasticsearch-Aggregations聚合数据分析
热门文章
- 2020各大网站rss订阅源地址_2020-20-18——DJANGO复习
- 如何将pdf导出html,如何导出PDF版、导出EXE版、导出HTML离线版?
- cmd进入到python安装目录下_在python中安装basemap
- python3网络编程传输图片_python实现同一局域网下传输图片
- mysql 的标识符_MySQL查询或标识符在Jupyter中太长?
- 微型计算机一般只具有定点运算功能对吗,大学计算机基础模拟卷2及答案剖析.doc...
- pythonc代码_Python实现C代码统计工具(一)
- mysql 逆序排序_将一组乱序的字符进行排序进行升序和逆序输出
- C++socket编程(三):3.1 TCP/IP协议特点
- java编写一个整钱换零_Java编写钱币转换为大写程序