---
# basic config
src_path: /usr/local/src/
basic_path: /opt/yidian/redis-cluster
# server config
init_hosts_list: "10.138.10.243:6379 10.138.10.243:6380 10.138.10.244:6379 10.138.10.244:6380 10.138.10.245:6379 10.138.10.245:6380"
redis_server_ports: ['6379','6380']
#15毫秒,集群节点不可用的最长时间,超过此时间它将由其副本进行故障转移
cluster_node_timeout: 15000
maxclients: 10000
#8c 32G建议使用7G
maxmemory: 7G
maxmemory_policy: allkeys-lru
loglevel: notice
#单位微妙=10ms 低于10ms的操作会定义为慢操作
slowlog_log_slower_than: 10000
#表示慢查询最大的条数,当slowlog超过设定的最大值后,会将最早的slowlog删除,是个FIFO队列
slowlog_max_len: 128
#关闭保护模式
protected_mode: "no"
#表示当负责一个槽的主库下线且没有相应的从库进行故障恢复时,集群仍然可用
cluster_require_full_coverage: "no" |
新增
#开启线程进行写操作
io-threads 2
# normal -> normal clients including MONITOR clients
# replica -> replica clients
# pubsub -> 订阅了至少一个 pubsub 通道或模式的客户端
# client -output-buffer-limit <class> <hard limit> <soft limit> <soft seconds>
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 0 0 0
client-output-buffer-limit pubsub 32mb 8mb 60
#副本backlog大小
repl-backlog-size 500m |
key回收策略:
在达到内存上限(maxmemory)时DCS将如何选择要删除的内容。有8个取值供选择: volatile-lru:根据LRU算法删除设置了过期时间的键值。 allkeys-lru:根据LRU算法删除任一键值。 volatile-random:删除设置了过期时间的随机键值。 allkeys-random:删除一个随机键值。 volatile-ttl:删除即将过期的键值,即TTL值最小的键值。 noeviction:不删除任何键值,只是返回一个写错误。 volatile-lfu: 根据LFU算法删除设置了过期时间的键值。 allkeys-lfu: 根据LFU算法删除任一键值。
save和bgsave的区别:
Redis Save: 命令执行一个同步保存操作,将当前 Redis 实例的所有数据快照(snapshot)以 RDB 文件的形式保存到硬盘。
BGSAVE :命令执行之后立即返回 OK ,然后 Redis fork 出一个新子进程,原来的 Redis 进程(父进程)继续处理客户端请求,而子进程则负责将数据保存到磁盘,然后退出。客户端可以通过 LASTSAVE 命令查看相关信息,判断 BGSAVE 命令是否执行成功
1.内存碎片率:redis有命令可以清理,也有配置开启自动清理,不过4.0以后才有,参考: 什么是Redis内存碎片率?碎片如何清理?_姜秀丽的博客-CSDN博客_redis 内存碎片
2.内存不够,被驱逐的key,应该没有办法看到具体是哪个key,
Redis 使用指南:深度解析 info 命令 - PaaS小魔仙 - 博客园
|