Redis学习第二节

配置文件(redis.conf)


1.单位不敏感。 1k 与1kb都是可以的。

2.可以include 多个配置文件。 include  /path/local.conf

3.general(通用)

    daemonize  yes   :redis采用的是单进程多线程的模式。当redis.conf中选项daemonize设置成yes时,代表开启守护进程模式。在该模式下,redis会在后台运行,并将进程pid号写入至redis.conf选项pidfile设置的文件中,此时redis将一直运行,除非手动kill该进程。但当daemonize选项设置成no时,当前界面将进入redis的命令行界面,exit强制退出或者关闭连接工具(putty,xshell等)都会导致redis进程退出。服务端开发的大部分应用都是采用后台运行的模式

 tcp-backlog 511  :    其实是一个链接队列,高并发环境需要一个高的backlog避免慢客户端链接问题。

    bind 127.0.0.1  :绑定的网卡

   timeout 0 : 空闲多久之后断开链接   0代表不关闭

   tcp-keepalive  0 : 如果设置为0 ,不会进行检测(每过多久,发送一个ping看你是否活着。 )。建议设置60.  集群

   loglevel  notice : 日志级别。 等级越高,日志越少。

   databases  16: 默认16个库

4. snapshotting快照。

5.安全(主要是做缓存的,而不是做安全的,所以安全级别低)

   config get requirepass  获取密码

   config set requirepass 123   设置密码123

   在访问命令之前,加密码

   auth 123   

6.limits 限制

   maxClient 最大连接用户数  

   maxMemory最大内存    

   maxMemory policy : 当内存最大时,你选用的处理策略。lru:最近最少使用,一个月,这个软件使用最少的。 random:随机 ttl:移除TTL值最小的key,最近过期的。

   

 dir :本地数据库的存放目录

 


Redis的持久化:

RDB(redis database) :  

   在指定的时间间隔内将内存中的数据集,快照,写入硬盘(以文件形式存在,每次覆盖的都是比上次全的)。恢复时就是将快照写入内存。

   fork,与github的fork不同。复制一个与当前进程一样的进程。新的进程数据与原来的一样。

   保存的文件是dump.rdb文件。

   这个文件的配置,就是在redis.conf中配置。 

          save 时间(时间内)  changes(改变几个key)  就会生成rdb文件。如果想立即生效,命令输入save。

          我们shoutdown 关闭的时候也会生成rdb文件。

          dbfilename  rdb文件。  如何从新读回内存?   只要启动的时候,如果存在dump.rdb文件就会 载入内存。

          stop-writes-on-bgsave-error  yes(出错就停止)。  no的话就是说,你不在乎数据不一致或者有其他手段发现和控制。

          rdbcompression。对于存在磁盘的快照是否压缩。

   命令save或者bgsave都可以立即生成dump.rdb。 save:只管保存,其他不管,全部阻塞。 bgsave:后台异步进行快照操作。

   flushall也会生成dump.rdb,但里面是空的。 相当于delete commit

   优势:适合大数据恢复。 对数据完整性和一致性 要求不高。

   劣势:间隔时间才备份,会导致丢失一些。

   一般禁用,只需要不用设置save 或者save空字符串



AOF(append  only file):

   是一个文件,将所有的命令都给记录。相当于sql文件一样。  只记录写操作。  恢复的时候,每条语句执行一次。

   在redis.conf中配置    

            appendonly no  一般默认是关。不使用该功能。

            开启aof,那么就会去按aof获取备份,如果损坏,则拒绝连接。

            如果aof文件有问题,出现文件破损,可以使用redis-check-aof --fix appendonly.aof 来帮你截取正确的命令。错误的去掉。


           配置文件设置:appendfsync:  always(每次发生变化就记录到磁盘)  everysec:默认,异步操作,每秒记录。如果一秒内宕机,数据丢失。no:不同步


           aof是文件追加,越写越多,需要清理。重写机制:如果文件大小超过阈值,会进行压缩。

           redis记录上次重写的大小,默认是aof文件的一倍,且文件大于64M,触发。在配置文件都是可配的。(一般高并发日志,都是3G起步)auto-aof-rewrite-percentage



使用哪一个?

同时开启,当Redis重启的时候是先恢复aof,因为通常aof要比RDB更完整。


RDB数据不实时,但是更适合做备份。因为AOF是不断变化的。


高可用,如果不用AOF,仅靠主从复制,实现高可用也是可以的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值