Reids 持久化

Redis提供了两种持久化的方式,分别是RDB(Redis DataBase)和AOF(Append Only File)。
 
RDB,简而言之,就是在不同的时间点,将redis存储的数据生成快照并存储到磁盘等介质上。
 
AOF,则是换了一个角度来实现持久化,那就是将redis执行过的所有写指令记录下来,在下次redis重新启动时,只要把这些写指令从前到后再重复执行一遍,就可以实现数据恢复了。
 
其实RDB和AOF两种方式也可以同时使用,在这种情况下,如果redis重启的话,则会优先采用AOF方式来进行数据恢复,这是因为AOF方式的数据恢复完整度更高。
 
 
如果你没有数据持久化的需求,也完全可以关闭RDB和AOF方式,这样的话,redis将变成一个纯内存数据库,就像memcache一样。
 
 
redis配置文件
 
 
daemonize no  # 默认情况下,redis并不是以daemon形式来运行的。通过daemonize配置项可以控制redis的运行形式
 
pidfile /path/to/redis.pid    #当以daemon形式运行时,redis会生成一个pid文件,默认会生成在/var/run/redis.pid
 
bind 192.168.1.2 10.8.4.2 # 指定绑定的ip,可以有多个
 
port 6379  #指定监听端口
 
unixsocket /tmp/redis.sock  #也可以监听socket
 
unixsocketperm 755   #当监听socket时可以指定权限为755
 
timeout 0 #当一个redis-client一直没有请求发向server端,那么server端有权主动关闭这个连接,可以通过timeout来设置“空闲超时时限”,0表示永不关闭。
 
Redis通用配置
 
tcp-keepalive0  #TCP连接保活策略,可以通过tcp-keepalive配置项来进行设置,单位为秒,假如设置为60秒,则server端会每60秒向连接空闲的客户端发起一次ACK请求,以检查客户端是否已经挂掉,对于无响应的客户端则会关闭其连接。如果设置为0,则不会进行保活检测。
 
loglevelnotice #日志级别,有四种debug, verbose, notice, warning
 
logfile“” #定义日志路径,
 
syslog-identredis  #如果希望日志打印到syslog中,通过syslog-enabled来控制。另外,syslog-ident还可以让你指定syslog里的日志标志。
 
syslog-facility local0 #指定syslog的设备,可以是USER或者local0-local7
 
databases 16  #设置数据库的总数量
 
Redis快照配置(rdb持久化)
 
save 900 1 #表示每15分钟且至少有1个key改变,就触发一次持久化
 
save 300 10 #表示每5分钟且至少有10个key改变,就触发一次持久化
 
save 60 10000 #表示每60秒至少有10000个key改变,就触发一次持久
 
save “”  #这样可以禁用rdb持久化
 
stop-writes-on-bgsave-error yes #rdb持久化写入磁盘避免不了会出现失败的情况,默认一旦出现失败,redis会马上停止写操作。如果你觉得无所谓,那就可以使用该选项关闭这个功能。
 
rdbcompressionyes #是否要压缩
 
rdbchecksumyes #是否进行数据校验
 
dbfilenamedump.rdb #定义快照文件的名字
 
dir ./  #定义快照文件储存路劲
 
Redis安全相关配置
 
requirepassaminglinux
   #设置redis-server的密码
 
rename-command CONFIG aminglinux.config
   #将CONFIG命令更名为aminglinux.config,这样可以避免误操作,但如果使用了AOF持久化,建议不要启用该功能
 
rename-command CONFIG “”
    #也可以后面定义为空,这样就禁掉了该CONFIG命令
 
Redis限制相关配置
 
maxclients10000  #限制最大客户端连接数
 
maxmemory<bytes>  #设定最大内存使用数,单位是byte
 
maxmemory-policy volatile-lru#指定内存移除规则
 
maxmemory-samples 3 #LRU算法和最小TTL算法都并非是精确的算法,而是估算值。所以你可以设置样本的大小。假如redis默认会检查三个key并选择其中LRU的那个,那么你可以改变这个key样本的数量。
 
Redis AOF持久化相关配置
 
appendonlyno  #如果是no,则开启aof持久化
 
appendfilename“appendonly.aof” #指定aof文件名字
 
appendfsynceverysec#指定fsync()调用模式,有三种no(不调用fsync),always(每次写都会调用fsync),everysec(每秒钟调用一次fsync)。第一种最快,第二种数据最安全,但性能会差一些,第三种为这种方案,默认为第三种。
 
no-appendfsync-on-rewrite no  #使用no,可以避免当写入量非常大时的磁盘io阻塞
 
auto-aof-rewrite-percentage 10 #规定什么情况下会触发aof重写。该值为一个比例,10表示当aof文件增幅达到10%时则会触发重写机制。
 
auto-aof-rewrite-min-size 64mb #重写会有一个条件,就是不能低于64Mb
 
Redis 慢日志相关配置
 
针对慢日志,你可以设置两个参数,一个是执行时长,单位是微秒,另一个是慢日志的长度。当一个新的命令被写入日志时,最老的一条会从命令日志队列中被移除。
 
slowlog-log-slower-than 10000 #慢于10000ms则记录日志
slowlog-max-len128  #日志长度

Redis 持久化和配置文件的更多相关文章

  1. redis持久化RDB和AOF

    Redis 持久化: 提供了多种不同级别的持久化方式:一种是RDB,另一种是AOF. RDB 持久化可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot). AO ...

  2. redis——持久化篇

    众所周知,redis是内存数据库,它把数据存储在内存中,这样在加快读取速度的同时也对数据安全性产生了新的问题,即当redis所在服务器发生宕机后,redis数据库里的所有数据将会全部丢失. 为了解决这 ...

  3. Redis-cluster集群【第二篇】:redis持久化

    Redis持久化原理: Redis支持两种持久化:RDB和AOF模式 一.名词解释: RDB:持久化可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot).AOF ...

  4. Redis持久化实践及灾难恢复模拟

    参考资料: Redis Persistence http://redis.io/topics/persistence Google Groups https://groups.google.com/f ...

  5. Redis持久化-数据丢失及解决(转载)

    本文转载自        Redis持久化-数据丢失及解决  感谢原作者 Redis的数据回写机制 Redis的数据回写机制分同步和异步两种, 同步回写即SAVE命令,主进程直接向磁盘回写数据.在数据 ...

  6. Redis持久化-数据丢失及解决

    Redis的数据回写机制 Redis的数据回写机制分同步和异步两种, 同步回写即SAVE命令,主进程直接向磁盘回写数据.在数据大的情况下会导致系统假死很长时间,所以一般不是推荐的. 异步回写即BGSA ...

  7. 关于Redis持久化

    Redis有两种持久化的方式:快照(RDB文件)和追加式文件(AOF文件) RDB持久化方式是在一个特定的间隔保存某个时间点的一个数据快照. AOF(Append only file)持久化方式则会记 ...

  8. 解密Redis持久化

    原文 http://blog.nosqlfan.com/html/3813.html 本文内容来源于Redis作者博文,Redis作者说,他看到的所有针对Redis的讨论中,对Redis持久化的误解是 ...

  9. redis 持久化与备份策略 【转载】

    本文转载自 http://blog.csdn.net/is_zhoufeng/article/details/10210353 持久化(persistence) 本文是 Redis 持久化文档 的中文 ...

随机推荐

  1. Effective Java 第三版——26. 不要使用原始类型

    Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将 ...

  2. asp.net -mvc框架复习(5)-ASP.NET MVC中的视图简单使用

    1.视图分类 ASPX视图(现在讲解) Razor视图(后面讲解) ASPX 视图: 2.@page指令 作用:页面的声明 要求:必须放在第一行,常用指令属性如下: 3.服务器端内嵌语法 小脚本:在A ...

  3. 【Java框架型项目从入门到装逼】第九节 - 数据库建表和CRUD操作

    1.新建学生表 这节课我们来把和数据库以及jdbc相关的内容完成,首先,进行数据库建表.数据库呢,我们采用MySQL数据库,我们可以通过navcat之类的管理工具来轻松建表. 首先,我们得建一个数据库 ...

  4. Excel的列编号 例如:A对应1,Z对应26,AA对应27,AZ对应52的JavaScript怎么写?

    今天碰到的题目,当时不会.回来想了一会,调试了一下,然后想上网对答案,发现竟然没有!!! function str(num){ if(num<=0){ alert("excel表格貌似 ...

  5. python3 第五章 - 什么是变量、运算符、表达式

    在读这一章时,运算符的内容比较多,不要去死记.现在记不住也没有关系,现在只要有这个印象.在后面的学习中,会慢慢加深理解,在理解中去记就容易得多了 1.变量 什么是变量?通俗的讲,就是存储在内存中可以变 ...

  6. httpd: Could not reliably determine the server's fully qualified domain name, using ::1 for ServerName

    问题原因: httpd服务配置文件,并没有设置解析根地址,无法可靠地确定服务器的完全合格的域名 如何解决? httpd的配置文件放在 /etc/httpd/conf/目录下,去掉ServerName注 ...

  7. JavaScript之图片懒加载的实现

    图片懒加载指的是在浏览过程中随着需要才被加载出来,例如某宝上面浏览商品时,会伴随很多的图片,如果一次全部加载出来的话,显然资源有些浪费,并且加载速度也会相对降低,那么懒加载的实现很重要.即随着浏览翻阅 ...

  8. 无废话XML--XML约束(schema)

    Schema  的由来 DTD 作为 XML 1.0 规范的重要组成部分, 对于 XML 文档的结构起到很好的描述作用. 但是,它也具有一些缺点,比如,它采用了非 XML 的语法规则.不支持数据类型. ...

  9. 腾讯工程师教你玩转 RocksDB

    欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~ 作者:腾讯云数据库内核团队 原文标题:[腾讯云CDB]教你玩转MyRocks/RocksDB-STATISTICS与后台线程篇 0. Intro ...

  10. ORACLE约束总结

    你对ORACLE约束的了解如何?比较模糊还是相当透彻?如果你对下面几个问题了如指掌的话,恭喜你,你已经对约束掌握得比较好了,不用看这篇文章了.ORACLE的约束有啥功能作用? 有哪些类型约束(不同版本 ...