redis 学习(二) 配置文件redis.conf


  11 # 1k => 1000 bytes
  12 # 1kb => 1024 bytes
  13 # 1m => 1000000 bytes
  14 # 1mb => 1024*1024 bytes
  15 # 1g => 1000000000 bytes
  16 # 1gb => 1024*1024*1024 bytes
  17 #
  18 # units are case insensitive so 1GB 1Gb 1gB are all the same.
     # 对大小写不敏感

####################### INCLUDES #######################
可以包含子配置


###################### GENERAL  常规设置 ####################
##守护进程 yes 为开启守护模式
1、daemonize yes 

## j进程管道id文件 
2、pidfile /www/server/redis/redis.pid

## 默认端口
3、port 6379

## 设置tcp的backlog, backlog其实是一个连接队列,
## backlog队列总和 = 未完成三次握手队列 + 已完成三次握手队列
## 在高并发下你需要一个高的backlog的值来避免慢客户端连接问题,注意linux内核会将这个值减小到
## /proc/sys/net/core/somaxconn的值,所以需要增大somaxconn和max_syn_backlog两个值,达到效果
4、tcp-backlog 511


## 设置客户端连接时的超时时间,单位为秒。当客户端在这段时间内没有发出任何指令,那么server端关闭该## 连接。0为关闭该设置。
5、timeout 0 


## 该处说明bind的是interface,也就是说是网络接口。服务器可以有一个网络接口(通俗的说网卡),或者多## 个。打个比方说机器上有两个网卡,分别为192.168.205.5 和192.168.205.6,如果bind
## 192.168.205.5,那么只有该网卡地址接受外部请求,如果不绑定,则两个网卡口都接受请求       
6、bind 127.0.0.1

## 指定TCP连接是否为长连接,”侦探”信号由server端维护,长连接将会额外的增加server端的开支
## 默认为0.表示禁用,非0值表示开启”长连接” ;”侦探”信号的发送间隔将有linux系统决定
## 在多次”侦探”后,如果对等端仍不回复,将会关闭连接,否则连接将会被保持开启.
## client端socket也可以通过配置keepalive选项,开启”长连接”.
7、tcp-keepalive 300


## server日志级别,合法值:debug,verbose,notice,warning 默认为notice
## debug适合开发环境,客户端操作信息都会输出日志
## verbose输出一些相对有用的信息,目前效果不明
## notice适合生产环境
## warning异常信息
8、loglevel notice

## 日志的名字 指定Redis日志记录方式,默认值为stdout 
9、logfile stdout 

## 系统日志默认关闭
10、syslog-enabled no

## 输出日志社保 local0 ~ local7
11、syslog-facility local0 

## 系统日志默认以redis开头
12、syslog-ident redis


## 设定redis所允许的最大”db簇”的个数,默认为16个簇
13、databases 16

################# SNAPSHOTTING  快照 ############
## 持久化 Rdb Aof
redis 是分布式内存数据库,

RDB备份恢复
#   In the example below the behaviour will be to save:
#   after 900 sec (15 min) if at least 1 key changed
900s 也就是15分钟以内只要有一个key改变 就存储 dump.rdb
#   after 300 sec (5 min) if at least 10 keys changed
300 s 也就是5分钟以内只要有一个key改变过10次 就存储 dump.rdb
#   after 60 sec if at least 10000 keys changed
60 s 也就是1分钟以内只要有一个key改变过10000次 就存储 dump.rdb

save 900 1
save 300 10
save 60 10000

rdbchecksum yes

# 默认备份名
dbfilename dump.rdb

## 虽然redis 已经开启了 自动备份,但是有时候突然断电等原因,会导致redis在备份的前一秒中备份一个
dump.rdb
## 如果我使用flushall 后 突然关机 则redis会在断电器生成一个空的dump.rdb
## 所以重启后 redis并没有恢复之前的数据,所以要做定时配置dump.rdb到其他服务器
## 恢复的时候再替换过来

## 该命令即刻生效 假设k1 很重要 只需后面给save(只管保存,不管其他,全部阻塞)或用
## bgsave(会在redis后台异步进行快照操作,快照同时还会响应客户端诉求,可以通过lastsave
## 命令获取最后一次成功快照的时间) 就可以即刻生效备份
set k1 k2  
save 

## yes 表示只要出错就停止 no 不在乎数据的一致性 只能用其他方式来补救
stop-writes-on-bgsave-error yes

## yes 启动lzf压缩算法 no节约cpu,内存等负担 ,可以选择no
rdbcompression yes 

## 默认yes 在存取快照后,还可以让redis使用CRC64算法来进行数据校验,但是会增加大约10%性能损耗
rdbchecksum yes

## 总结 备份有一定的时间间隔 所以如果redis意外down了就会丢失最后一次快照
## 备份的时候开启的fork的时候,内存被复制一份,大致2倍的喷张性能


################# APPEND ONLY MODE       #############


## AOF(append only file) 备份
## AOF 以日志的形式来记录写操作
## 将redis执行的所有的写都记录下来,只追加不可以修改文件,redis启动之初会读取该文件
## 重构数据
## aof 保存的是appendonly.aof
## 默认是关闭 no
## 如果一个配置文件里有两种备份 rdb ,aof  优先加载aof
## appendonly  为yes 开启aof
appendonly no

## 默认aof名字
appendfilename appendonly.aof 

## aof 配置策略
## appendsync always|everysec|no 
## always 同步持久化 每次发生写数据都会被记录磁盘,性能较差,数据完整性好
## everysec 出厂默认推荐 异步操作,每秒记录,宕机会丢失一秒的数据
## no 
appendsync everysec

## 如果appendonly.aof 损坏 可以使用 redis-check-aof 来恢复
redis-check-aof --fix appendonly.aof

## rewrite aof 采用的是文件追加方式,文件会越来越大,所以增加了重写机制。当aof文件的大小
## 超过了设定的阈值,redis就会启动aof文件的压缩,只保留可以恢复的最小指令集合,
## 可以使用命令bgrewriteaof

## rewrite aof 原理
## aof 文件过大时,就是fork初一条新的进程来重写文件

## redis 什么时候会触发
## redis 会记录上次重写时候的AOF大小,默认配置是当AOF文件是上次rewrite 后大小的一倍
## 且文件大于64M

## 默认是上次重写的一倍 100%
auto-aof-rewrite-percentage 100

## 文件大小的64M
auto-aof-rewrite-siz 64mb

## 总结 rdb aof 可以两者同时在一起,




################# ECURITY  安全      #############
## 如果你设置了密码 ,客户端需要密码验证

14、config get requirepass
1) "requirepass"
2) ""
config set requirepass 123456
OK
ping
(error) NOAUTH Authentication required.
auth 123456
OK
127.0.0.1:6379> ping 
PONG


################# LIMIT 限制      #############
##客户端最大连接数
15、maxclients 10000

## 最大的内存池
## volatile-lru -> Evict using approximated LRU among the keys with an expire set.
   //从已设置过期时间的数据集(server.db[i].expires)中挑选最近最少使用的数据淘汰
## allkeys-lru -> Evict any key using approximated LRU.
   //从数据集(server.db[i].dict)中挑选最近最少使用的数据淘汰
## volatile-lfu -> Evict using approximated LFU among the keys with an expire set.
   //从已设置过期时间的数据集(server.db[i].expires)中挑选最近使用次数最少的数据淘汰
## allkeys-lfu -> Evict any key using approximated LFU.
   //从数据集(server.db[i].dict)中挑选最近使用次数最少的数据淘汰
## volatile-random -> Remove a random key among the ones with an expire set.
   //随机移除
## allkeys-random -> Remove a random key, any key.
   //随机移除
## volatile-ttl -> Remove the key with the nearest expire time (minor TTL)
   //移除那些ttl最小的key ,即那些那些最近要过期的key
## noeviction -> Don't evict anything, just return an error on write operations.
   //永不过期策略 默认

16、maxmemory-policy noeviction

##  设置样本的数量
17、maxmemory-samples 5






 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值