redis启用持久化
2016-07-06 10:22
537 查看
redis的持久化有rdb和aof两种。
rdb是记录一段时间内的操作,一盘的配置是一段时间内操作超过多少次就持久化。
aof可以实现每次操作都持久化。
这里我们使用aof。
配置方式,打开redis的配置文件。找到appendonly。默认是appendonly no。改成appendonly yes。
再找到appendfsync
默认是:
# appendfsync always #每次收到写命令就立即强制写入磁盘,最慢的,但是保证完全的持久化,不推荐使用
appendfsync everysec #每秒钟强制写入磁盘一次,在性能和持久化方面做了很好的折中,推荐
# appendfsync no #完全依赖os,性能最好,持久化没保证
默认每秒持久化满足我的需求。
其实改下appendonly 就ok了。
appendfsync no的时候,Redis不会主动调用fsync,将缓冲区中的数据写到磁盘上。
appendfsync everysec
当设置appendfsync为everysec的时候,Redis会默认每隔一秒进行一次fsync调用时长超过1秒时。Redis会采取延迟fsync,这一次的fsync时文件描述符会被阻塞,所以当前的写操作就会阻塞。
结论就是,在绝大多数情况下,Redis会每隔一秒进行一 次fsync操作。这一操作在大多数数据库系统中被称为group commit,就是组合多次写操作的数据,一次性将日志写到磁盘。
appendfsync always
置appendfsync为always时,每一次写操作都会调用一次fsync,
所以其性能也会受到影响。
rdb是记录一段时间内的操作,一盘的配置是一段时间内操作超过多少次就持久化。
aof可以实现每次操作都持久化。
这里我们使用aof。
配置方式,打开redis的配置文件。找到appendonly。默认是appendonly no。改成appendonly yes。
再找到appendfsync
默认是:
# appendfsync always #每次收到写命令就立即强制写入磁盘,最慢的,但是保证完全的持久化,不推荐使用
appendfsync everysec #每秒钟强制写入磁盘一次,在性能和持久化方面做了很好的折中,推荐
# appendfsync no #完全依赖os,性能最好,持久化没保证
默认每秒持久化满足我的需求。
其实改下appendonly 就ok了。
appendfsync no的时候,Redis不会主动调用fsync,将缓冲区中的数据写到磁盘上。
appendfsync everysec
当设置appendfsync为everysec的时候,Redis会默认每隔一秒进行一次fsync调用时长超过1秒时。Redis会采取延迟fsync,这一次的fsync时文件描述符会被阻塞,所以当前的写操作就会阻塞。
结论就是,在绝大多数情况下,Redis会每隔一秒进行一 次fsync操作。这一操作在大多数数据库系统中被称为group commit,就是组合多次写操作的数据,一次性将日志写到磁盘。
appendfsync always
置appendfsync为always时,每一次写操作都会调用一次fsync,
所以其性能也会受到影响。
相关文章推荐
- CentOS 6.5 下安装 Redis
- Redis Java客户端jedis工具类以及Redis实现的跨jvm的锁
- 单台服务器redis的简单秒杀
- Mac OS X安装Redis
- Redis分布式锁及分区
- Redis的Spring配置讲解
- 开源新闻速递:逾 6000 Redis 服务器被取得 SSH 权限
- redis主从集群搭建及容灾
- Redis
- Redis学习笔记(三)-数据类型之string类型
- Redis学习笔记(二)-四种复合数据类型
- ubuntu14.04 php nginx mysql redis phpmyadmin
- nagios监控redis内存使用情况脚本--shell实现
- Redis 的性能幻想与残酷现实
- 代码中调用 linux 命令批量删除指定redis缓存数据
- redis缓存数据需要指定缓存有效时间范围段的多个解决方案 Calendar+quartz
- windows下Redis编译安装
- 关于Spring Data redis几种对象序列化的比较
- redis与Spring Cache的整合
- redis可视化工具RedisClient使用