redis.conf 配置档详解

  • 时间:
  • 浏览:0
  • 来源:欢乐生肖APP下载_欢乐生肖APP官方

默认情形下, redis 会在后台异步的把数据库镜像备份到磁盘,之后该备份是非常耗时的,之后备份可是能很频繁,可能性居于诸如拉闸限电、拔插头等情形,越来越 将造成比较大范围的数据丢失。

当 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

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 ,可是返回一个多 写错误

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

save ‘seconds’ ‘changes’

save 900 1 #900秒(15分钟)可能性大概还有一个多 关键的变化

save 400 10 #400秒(5分钟)可能性大概10键改变

save 400 40000 #400秒后可能性大概40000键改变

redis 数据库个数定义

databases 16

Redis 默认的会选泽 3 个样本进行检测,我就通过 maxmemory-samples 进行设置

maxmemory-samples 3

redis 所绑定的 ip 地址

bind 10.1.0.400

redis RDB 文件名

dbfilename dump.rdb

之后原来会造成 appendonly.aof 文件过大,好多好多 有 redis 还支持了 BGREWRITEAOF 指令,对 appendonly.aof 进行重新埋点。

redis 运行时pid文件保居于 /var/run/redis/redis.pid ,当然你有益于否自己指定

pidfile /var/run/redis/redis.pid

redis master slave 设置

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

slave-serve-stale-data yes

redis 存放 dump.rdb 的目录

dir /var/lib/redis/

我就一块儿开启 asynchronous dumps 和 AOF

appendonly no

redis 默认监听端口为 6379 ,可能性设置为 0 ,则 redis 我太多 监听一个多 套接字

port 6379

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

1k => 4000 bytes

1kb => 1024 bytes

1m => 4000000 bytes

1mb => 1024*1024 bytes

1g => 4000000000 bytes

1gb => 1024*1024*1024 bytes

slave 会按照一个多 时间间隔向 master 发送 PINGs. 还后能 通过 repl-ping-slave-period 设置你是什么时间间隔,默认是 10 秒

repl-ping-slave-period 10

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

redis 日志位置

logfile /var/log/redis/redis.log

最近对 Redis 数据库非常感兴趣,好多好多 有想完正埋点下配置档中的参数以及意义! 下面刚开始了

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

list-max-ziplist-entries 512

list-max-ziplist-value 64

redis 从服务器指定

slaveof “masterip” “masterport”

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

maxclients 40000

当内存达到最大值的原来 Redis 会选泽删除哪些地方数据?有两种最好的辦法 可供选泽。

注意:对于里边的策略,可能性越来越 大概的 key 还后能 移除,当写的原来 Redis 会返回一个多 错误。默认是 : volatile-lru。

maxmemory-policy volatile-lru

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

timeout 0

AOF 自动重写

当 AOF 文件增长到一定大小的原来 Redis 有益于调用 BGREWRITEAOF 对日志文件进行重写。

设置客户端连接后进行任何你是什么指定前须要使用的密码。

警告:可能性 redis 速率 相当快,好多好多 有在一台比较好的服务器下,一个多 实物的用户还后能 在一秒钟进行 400K 次的密码尝试,这意味 分析你须要指定非常非常强大的密码来防止暴力破解

requirepass foobared

redis 默认不作为守护应用进程在后台运行,可能性须要,则选泽 yes

daemonize yes

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

debug : 几乎用还后能

verbose : 输出好多好多 有无用信息

notice : 默认定义,输出你是什么提示信息

warning : 输出重大错误信息

loglevel notice

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

slowlog-max-len 1024

redis 主从克隆qq区,指定一个多 redis 服务器作为slave。越来越 该 redis 服务器则是你是什么 redis 服务器的 slave。

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

auto-aof-rewrite-percentage 400

auto-aof-rewrite-min-size 64mb

maxmemory 的设置比较适合于把 redis 当作于同类 memcached 的缓存来使用,而不适合当做一个多 真实的 DB 。当把 Redis 当做一个多 真实的数据库使用的原来,内存使用将是一个多 很大的开销。

maxmemory “bytes”

Redis 支持两种同步 AOF 文件的策略 :

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

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

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

可能性越来越 越来越 严格的实时性要求,还后能 设置为 yes ,以便有益于尽可能性快的释放内存

activerehashing yes

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

zset-max-ziplist-entries 128

zset-max-ziplist-value 64

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

可能性想让 Redis 能更高效的运行,你有益于否设置为 “no” ,让操作系统决定哪些地方原来去执行,可能性相反想让数据更安全你有益于否设置为 “always”,可能性不选泽就用 “everysec”.

appendfsync everysec

appendfsync always

appendfsync no

set 数据类型实物数据可能性完正是数值型,且蕴含哪几次节点以下会采用紧凑格式存储。

set-max-intset-entries 512

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

masterauth “master-password”

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

下面的时间以微妙为单位,之后 4000000 代表一秒。

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

slowlog-log-slower-than 40000

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

appendfilename appendonly.aof

AOF 策略设置为 always 可能性 everysec 时,后台防止应用应用进程 ( 后台保存可能性 AOF 日志重写 ) 会执行几滴 的 I/O 操作,在你是什么 Linux 配置中会阻止过长的 fsync() 请求。注意现在越来越 任何修复,即使 fsync 在另外一个多 应用进程进行防止,为了减缓你是什么问题图片报告 ,还后能 设置下面你是什么参数 no-appendfsync-on-rewrite

no-appendfsync-on-rewrite no

设置主库批量数据传输时间可能性 ping 回复时间间隔,默认值是 400 秒,该值须要大于 repl-ping-slave-period 的值。

repl-timeout 400

redis RDB 压缩

可能性你想节约CPU,越来越 则选泽 no,默认开启,我就有可压缩的值或键,越来越 会更大!

rdbcompression yes

Redis 将在每 400 毫秒时使用 1 毫秒的 CPU 时间来对 redis 的 hash 表进行重新 hash ,还后能 降低内存的使用。当你的使用场景中,有非常严格的实时性须要,还后能 够接受 Redis 总是 的对请求有 2 毫秒的延迟语录,把这项配置为 no 。

设置同一时间最大客户端连接数,默认无限制, Redis 还后能 一块儿打开的客户端连接数为 Redis 应用应用进程还后能 打开的最大文件描述符数,可能性设置 maxclients 0 ,表示不作限制。

好多好多 有 redis 提供了另外两种更加高效的数据库备份及灾难恢复最好的辦法 。