首页 > 数据库 >【redis】配置优化及从库优先级

【redis】配置优化及从库优先级

时间:2023-03-03 14:25:41浏览次数:38  
标签:AOF 优先级 max redis 快照 yes 从库 客户端

https://blog.51cto.com/u_15902893/5912902

 

vim /etc/redis/redis.conf

##################基础#################################

daemonize yes //是否以守护进程方式启动

pidfile /var/run/redis.pid //如果要玩单机多开,需要设定不同path的pid,除非硬件特别紧张,一般不会

port 6379 //端口

tcp-backlog 600 //如果服务器caps很高,需要把这个参数改大些。

timeout 0 //客户端连接的超时时间,单位为秒,超时后会关闭连接,0永不超时

tcp-keepalive 0 //检测挂掉的连接,单位s,0禁止

loglevel notice //日志记录等级,4个可选值 debug(调试) > verbose(精简) >notice(适量) > warning(警告)

logfile "./redis.log" //日志文件路径

databases 6 //控制数据库的总数默认客户端进0号

##################RDB快照#################################

save 900 1 // 900秒(15分钟)之后,且至少1次变更频率不要太高,RDB快照代价比较高

save 300 10 //300秒(5分钟)之后,且至少10次变更频率不要太高,RDB快照代价比较高

save 60 1000

rdbcompression yes //快照时压缩

dbfilename dump.rdb //快照名

dir ./ //快照文件路径

stop-writes-on-bgsave-error yes //save失败(快照)是否停止写操作,如果有监控机制可以no

rdbchecksum yes //生成和加载的时候是否开启CRC64检查,开启后性能消耗大概10%,但更加安全

##################复制(从库配置)#################################

slaveof  ip地址 6379 //一旦配置(从配置,主不需要),则开启主从复制

masterauth howbuy //配置主的密码

slave-serve-stale-data no //从丢失主,或者同步过程中,是否可继续响应客户端

repl-disable-tcp-nodelay no //yes 合并tcp包节省带宽,但产生40ms左右的延时。no 立马发送数据,无延迟。从太多,可以考虑yes

slave-priority 100 主挂了,从变主的概率,越小概率越高,但0表示永不做主机

##################安全#################################

requirepass howbuy //设置密码

#################### 限制####################################

maxclients 128 //限制客户端的连接数

maxmemory 2gb //最大内存最好不要超过空闲内存的3/5,超过32GB会自动进入64位世界,指针长度*2,20%的空间会被指针消耗,性能略有影响

maxmemory-policy allkeys-lru //4种策略volatile-lru、allkeys-lru、volatile-random、allkeys-random、noeviction根据 LRU 算法移除内存中所有的 key

maxmemory-samples 5 //五个key然后取最旧的那个,LRU和最小TTL算法的优化

lua-time-limit 5000 //一个Lua脚本最长的执行时间为5000毫秒,0或负数表示无限执行时间

################# APPEND ONLY MODE (AOF)###############################

appendonly yes //是否开启AOF

appendfilename "appendonly.aof" //AOF文件名

appendfsync everysec //每秒写入性能   no(操作系统决定) >everysec(每秒写一次) > always(每次立马写入)

no-appendfsync-on-rewrite yes //写AOF的时候放弃同步主进程的变化,可能会丢日志,但是在高并发的时候不会出现一卡一卡的现象

auto-aof-rewrite-percentage 100 //AOF文件体积扩大100%的时候重写该日志

auto-aof-rewrite-min-size 64mb //除了百分比,再加体积限制

aof-load-truncated yes //redis在启动时可以加载被截断的AOF文件

aof-rewrite-incremental-fsync yes //当修改AOF文件时,该设置为yes,则每生成32MB的数据,就进行同步

################## 慢查日志###################################

slowlog-log-slower-than 1000000 //记录超过1秒的操作

slowlog-max-len 50 //记录50个

################ 虚拟内存 ###############################

#vm-enabled no //不用虚拟内存,太穷的话就没必要用redis

################高级配置###############################

hash-max-ziplist-entries 512 //配置最大元素数,当超过该配置数据时,redis采用特殊hash算法

hash-max-ziplist-value 64 //配置最大元素值,当超过配置值时,采用特殊hash算法

list-max-ziplist-entries 512

list-max-ziplist-value 64

set-max-intset-entries 512

set-max-intset-value 64

zset-max-ziplist-entries 128

zset-max-ziplist-value 64

hll-sparse-max-bytes 5000 //配置超重对数基数,CPU比较牛的情况下可以上10000

activerehashing yes //哈希刷新,如果你不太在意延迟而希望尽快释放内存的话就设置

client-output-buffer-limit normal 0 0 0  //对客户端输出缓冲进行限制可以强迫那些就不从服务器读取数据的客户端断开连接。对于normalclient,第一个0表示取消hardlimit,第二个0和第三个0表示取消soft limit,normalclient默认取消限制,因为如果没有寻问,他们是不会接收数据的

client-output-buffer-limit slave 256mb 64mb 60  //对于slaveclient和MONITER client,如果client-output-buffer一旦超过256mb,又或者超过64mb持续60秒,那么服务器就会立即断开客户端连接。

client-output-buffer-limit pubsub 32mb 8mb 60 //对于pubsub client,如果client-output-buffer一旦超过32mb,又或者超过8mb持续60秒,那么服务器就会立即断开客户端连接。

hz 20 #redis内部调度(进行关闭timeout的客户端,删除过期key等等)频率

################################ LATENCY MONITOR##############################

latency-monitor-threshold 0 //用LATENCY打印redis实例在跑命令时的耗时图表,监视频率,0为不监视

 

 

 

#重要参数

daemonize yes #守护进程模式

save 60 1000 #当时间间隔超过60秒,或存储超过1000条记录时,进行持久化。

maxmemory 256mb #分配256MB内存

 


-----------------------------------
redis参数优化

标签:AOF,优先级,max,redis,快照,yes,从库,客户端
From: https://www.cnblogs.com/xincha/p/17175455.html

相关文章

  • Redis分布式锁常见坑点分析
    日常开发中,基于Redis天然支持分布式锁,大家在线上分布式项目中都使用过Redis锁。本文主要针对日常开发中加锁过程中某些异常场景进行讲解与分析。本文讲解示例代码都在......
  • 【Redis的三种数据删除策略】定时定期惰性,超出内存就自动清理
    https://blog.csdn.net/DQWERww/article/details/126453008https://blog.csdn.net/qq_38056518/article/details/122107638  内存淘汰机制Redis有过期策略......
  • Redis 实现唯一全局ID
      packagecom.hmdp.utils;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.data.redis.core.StringRedisTemplate;......
  • redis sentinel 部署
    redissentinel部署服务器说明192.168.2.200masterredis-serverredis-sentinel192.168.2.201slave1redis-serverredis-sentinel192.168.2.202slave2r......
  • Docker环境下安装Redis 集群
    Redis三种解决方案哈希取余分区   优点:简单粗暴,直接有效缺点:不好扩缩容,某个节点宕机,会导致hash取余全部数据重新洗牌一致性哈希环优点:加入或......
  • redis性能测试及瓶颈分析调优
    一、简介Redis(RemoteDictionaryServer),即远程字典服务,是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API......
  • 【Azure Redis 缓存】Lettuce 连接到Azure Redis服务,出现15分钟Timeout问题
    问题描述在Java应用中,使用Lettuce作为客户端SDK与AzureRedis服务连接,当遇见连接断开后,长达15分钟才会重连。导致应用在长达15分的时间,持续报错Timeout 问题解答这......
  • 踩坑之RedisTemplate执行Lua脚本
    (目录)1、背景有时候,我们需要一次性操作多个Redis命令,但是这样的多个操作不具备原子性,而且Redis的事务也不够强大,不支持事务的回滚,还无法实现命令之间的逻辑关系计......
  • 接口限流常见算法方案原理 及其 实现(Guava RateLimiter,Redis+AOP+Lua)
    (目录)什么是限流?为什么要限流?限流,这个词其实并不陌生,在我们生活中也随处可见。做核酸时,工作人员会在核酸检测点的空地上摆放着弯弯曲曲的围栏,人们排着队左拐右拐的往前......
  • 虚拟机redis无法连接
    1.cpredis.conf/etc/2.vi/etc/redis.conf3.设置Redis可以后台运行daemonizeyes4.关闭redis保护模式,使得可以远程连接redisprotected-modeno5.将下面的配置......