redis.conf 配置档详解

  • 时间:
  • 浏览:7
  • 来源:大发幸运飞艇APP下载_大发幸运飞艇APP官方

你都后能 一同开启 asynchronous dumps 和 AOF

appendonly no

AOF 自动重写

当 AOF 文件增长到一定大小的事先 Redis 都后能 调用 BGREWRITEAOF 对日志文件进行重写。

redis master slave 设置

当 slave 和 master 之间的连接断开或 slave 正在于 master 同步时,事先有 slave 请求,当 slave-serve-stale-data 配置为 yes时 , slave 能都后能 相应客户端请求;当为 no 时, slave 将要响应错误,默认是 yes

slave-serve-stale-data yes

redis RDB 压缩

事先你想节约CPU,没有 则取舍 no,默认开启,但会 你有可压缩的值或键,没有 会更大!

rdbcompression yes

和 hashe 和 list 一样 , 排序的 set 在指定的长度内以指定编码依据存储以节省空间,zsort 数据类型节点值大小小于几次字节会采用紧凑存储格式。

zset-max-ziplist-entries 128

zset-max-ziplist-value 64

当 hash 含晒 晒 超过指定元素个数但会 最大的元素没有 超过临界时,hash 将以有什儿 特殊的编码依据(大大减少内存使用)来存储,这能都后能 设置什儿 个 临界值,Redis Hash 对应 Value 组织组织结构实际但会 五个 HashMap ,实际这里会有 2 种不同实现,什儿 Hash 的成员比较少时 Redis 为了节省内存会采用什儿 一维数组的依据来紧凑存储,而后会采用真正的 HashMap 底部形态,对应的valueredisObject 的 encoding 为 zipmap。

当成员数量增大后会 自动转成真正的 HashMap, 此时 encoding 为 ht 。

hash-max-zipmap-entries 512

hash-max-zipmap-value 64

和 Hash 一样,多个小的 list 以特定的依据编码来节省空间。list 数据类型节点值大小小于几次字节会采用紧凑存储格式。

list-max-ziplist-entries 512

list-max-ziplist-value 64

AOF 策略设置为 always 事先 everysec 时,后台处里应用应用线程池池 ( 后台保存事先 AOF 日志重写 ) 会执行极少量的 I/O 操作,在但会 Linux 配置中会阻止过长的 fsync() 请求。注意现在没有 任何修复,即使 fsync 在另外五个 应用线程池池进行处里,为了减缓什儿 问题报告 报告 ,能都后能 设置下面什儿 参数 no-appendfsync-on-rewrite

no-appendfsync-on-rewrite no

redis 数据库个数定义

databases 16

redis 存放 dump.rdb 的目录

dir /var/lib/redis/

slave 会按照五个 时间间隔向 master 发送 PINGs. 能都后能 通过 repl-ping-slave-period 设置什儿 时间间隔,默认是 10 秒

repl-ping-slave-period 10

redis 保存快照定义 (RDB 持久化)

save ‘seconds’ ‘changes’

save 900 1 #900秒(15分钟)事先要花费五个 关键的变化

save 80 10 #80秒(5分钟)事先要花费10键改变

save 80 8000 #80秒后事先要花费8000键改变

redis 所绑定的 ip 地址

bind 10.1.0.80

但会 但会 会 造成 appendonly.aof 文件过大,统统有 redis 还支持了 BGREWRITEAOF 指令,对 appendonly.aof 进行重新分派。

redis 日志位置

logfile /var/log/redis/redis.log

redis RDB 文件名

dbfilename dump.rdb

AOF 文件名称 ( 默认 : “appendonly.aof”)

appendfilename appendonly.aof

redis master服务设置了密码保护时,slave服务连接master的密码

masterauth “master-password”

volatile-lru -> 利用 LRU 算法移除设置过过期时间的 key (LRU: 最近使用 Least RecentlyUsed )

allkeys-lru -> 利用 LRU 算法移除任何 key

volatile-random -> 移除设置过过期时间的随机 key

allkeys->random -> remove a randomkey, any key

volatile-ttl -> 移除即将过期的 key (minor TTL)

noeviction -> 不移除任何 key ,但会 返回五个 写错误

事先没有 没有 严格的实时性要求,能都后能 设置为 yes ,以便都后能 尽事先快的释放内存

activerehashing yes

redis 对单位不区分大小写,统统有1kb = 1KB =1kB

1k => 800 bytes

1kb => 1024 bytes

1m => 800000 bytes

1mb => 1024*1024 bytes

1g => 800000000 bytes

1gb => 1024*1024*1024 bytes

redis 运行时pid文件保处在 /var/run/redis/redis.pid ,当然你都后能 都后能 此人 指定

pidfile /var/run/redis/redis.pid

设置同一时间最大客户端连接数,默认无限制, Redis 能都后能 一同打开的客户端连接数为 Redis 应用应用线程池池能都后能 打开的最大文件描述符数,事先设置 maxclients 0 ,表示不作限制。

Redis 默认的会取舍 3 个样本进行检测,你都后能 通过 maxmemory-samples 进行设置

maxmemory-samples 3

redis 关闭连接后,客户端空闲 N 秒,0禁用

timeout 0

Redis Slow Log 记录超过特定执行时间的命令。执行时间不包括 I/O 计算比如连接客户端,返回结果等,但会 命令执行时间能都后能 通过五个 参数设置 slow log :五个 是告诉 Redis 执行超很几次时间被记录的参数 slowlog-log-slower-than( 微秒 ) ,但会 是 slow log 的长度。当五个 新命令被记录的事先最早的命令将被从队列中移除。

下面的时间以微妙为单位,但会 800000 代表一秒。

注意指定五个 负数将关闭慢日志,而设置为 0 将强制每个命令后会 记录

slowlog-log-slower-than 8000

redis 默认不作为守护应用线程池池在后台运行,事先还要,则取舍 yes

daemonize yes

设置客户端连接后进行任何但会 指定前还要使用的密码。

警告:事先 redis 波特率相当快,统统有在一台比较好的服务器下,五个 组织组织结构的用户能都后能 在一秒钟进行 80K 次的密码尝试,这原应你还要指定非常非常强大的密码来处里暴力破解

requirepass foobared

redis 日志级别定义,有下面几次选项

debug : 几乎用不到

verbose : 输出统统有无用信息

notice : 默认定义,输出但会 提示信息

warning : 输出重大错误信息

loglevel notice

统统有 redis 提供了另外有什儿 更加高效的数据库备份及灾难恢复依据。

默认是 “everysec” ,按照波特率和安全折中这是最好的。

事先想让 Redis 能更高效的运行,你都后能 都后能 设置为 “no” ,让操作系统决定那此事先去执行,事先相反想让数据更安全你都后能 都后能 设置为 “always”,事先不取舍就用 “everysec”.

appendfsync everysec

appendfsync always

appendfsync no

Redis 将在每 80 毫秒时使用 1 毫秒的 CPU 时间来对 redis 的 hash 表进行重新 hash ,能都后能 降低内存的使用。当你的使用场景中,有非常严格的实时性还要,不到够接受 Redis 一个劲的对请求有 2 毫秒的延迟搞笑的话,把这项配置为 no 。

设置主库批量数据传输时间事先 ping 回复时间间隔,默认值是 80 秒,该值还要大于 repl-ping-slave-period 的值。

repl-timeout 80

配置记录慢查询的最大条数,对日志长度没有 限制,但会 要注意它会消耗内存,能都后能 通过 SLOWLOG RESET 回收被慢日志消耗的内存,推荐使用默认值 128 ,当慢日志超过 128 时,最先进入队列的记录会被踢出。

slowlog-max-len 1024

maxmemory 的设置比较适合于把 redis 当作于什儿 memcached 的缓存来使用,而不适合当做五个 真实的 DB 。当把 Redis 当做五个 真实的数据库使用的事先,内存使用将是五个 很大的开销。

maxmemory “bytes”

最近对 Redis 数据库非常感兴趣,统统有想全版分派下配置档中的参数以及意义! 下面结束了了英文

它是但会 工作的: Redis 会记住上次进行些日志后文件的大小 ( 事先从开机以来还没进行过重写,那日子大小在开机的事先取舍 ) 基础大小会同现在的大小进行比较。事先现在的大小比基础大小大制定的百分比,重写功能将启动; 一同还要指定五个 最小大小用于 AOF 重写,什儿 用于阻止即使文件很小但会 增长幅度很大也去重写 AOF 文件的情况汇报,设置 percentage 为 0 就关闭什儿 底部形态

auto-aof-rewrite-percentage 80

auto-aof-rewrite-min-size 64mb

当客户端连接数到达限制时, Redis 会关闭新的连接并向客户端返回 max number of clients reached 错误信息

maxclients 8000

redis 主从qq克隆好友 区,指定五个 redis 服务器作为slave。没有 该 redis 服务器则是但会 redis 服务器的 slave。

set 数据类型组织组织结构数据事先全版是数值型,且含晒 几次节点以下会采用紧凑格式存储。

set-max-intset-entries 512

Redis 支持有什儿 同步 AOF 文件的策略 :

no: 不进行同步,系统去操作 . Faster.

always: always 表示每次有写操作都进行同步 . Slow, Safest.

everysec: 表示对写操作进行每项,每秒同步一次 . Compromise.

当内存达到最大值的事先 Redis 会取舍删除那此数据?有有什儿 依据可供取舍。

注意:对于上边的策略,事先没有 要花费的 key 能都后能 移除,当写的事先 Redis 会返回五个 错误。默认是 : volatile-lru。

maxmemory-policy volatile-lru

redis 从服务器指定

slaveof “masterip” “masterport”

开启 append only 模式事先, redis 会把所接收到的每一次写操作请求都追加到 appendonly.aof 文件中,当 redis 重新启动时,会从该文件恢复出事先的情况汇报。

redis 默认监听端口为 6379 ,事先设置为 0 ,则 redis 后会监听五个 套接字

port 6379

默认情况汇报下, redis 会在后台异步的把数据库镜像备份到磁盘,但会 该备份是非常耗时的,但会 备份但会 能很频繁,事先处在诸如拉闸限电、拔插头等情况汇报,没有 将造成比较大范围的数据丢失。