【redis】配置优化及从库优先级
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参数优化
【redis】配置优化及从库优先级的更多相关文章
- NoSQL 之 Redis配置与优化
NoSQL 之 Redis配置与优化 1.关系数据库与非关系型数据库概述 2.关系数据库与非关系型数据库区别 3.非关系型数据库产生背景 4.Redis简介 5.Redis安装部署 6.Redis 命 ...
- NoSQL之Redis配置与优化
NoSQL之Redis配置与优化 目录 NoSQL之Redis配置与优化 一.关系数据库和非关系数据库 1. 关系型数据库 2. 非关系型数据库 3. 非关系型数据库产生背景 4. 关系型数据库和非关 ...
- Redis性能优化之redis.cnf配置参数
redis调优总结 1.相应的参数调优 加内存2.redis使用结构调优3.使用合理的数据类型说明:redis存储的数据为redis hash(字符映射表) 单key多字段结构. 1)调整配置文件中配 ...
- mysql系列十一、mysql优化笔记:表设计、sql优化、配置优化
可以从这些方面进行优化: 数据库(表)设计合理 SQL语句优化 数据库配置优化 系统层.硬件层优化 数据库设计 关系数据库三范式 1NF:字段不可分; 2NF:有主键,非主键字段依赖主键; 3NF:非 ...
- redis(十八):Redis 配置
#redis.conf# Redis configuration file example.# ./redis-server /path/to/redis.conf ################# ...
- redis性能优化、内存分析及优化
redis性能优化.内存分析及优化 1.优化网络延时 2.警惕执行时间长的操作 3.优化数据结构.使用正确的算法 4.考虑操作系统和硬件是否影响性能 5.考虑持久化带来的开销 5.1 RDB 全量持久 ...
- redis高可用、redis集群、redis缓存优化
今日内容概要 redis高可用 redis集群 redis缓存优化 内容详细 1.redis高可用 # 主从复制存在的问题: 1 主从复制,主节点发生故障,需要做故障转移,可以手动转移:让其中一个sl ...
- redis 配置
一 Redis 支持写的指令 Redis大概的命令如下:set setnx setex appendincr decr rpush lpush rpushx lpushx linsert lset r ...
- redis配置详解
##redis配置详解 # Redis configuration file example. # # Note that in order to read the configuration fil ...
- Redis配置集群一(window)
因为接下来的项目要使用到redis作为我们项目的缓存,所以就花了一天时间研究了一下redis的一些用法,因为没转linux虚拟机,所以就决定先研究一下windows版本的redis集群.主要是redi ...
随机推荐
- python循环结构之while循环
在python中,除了for循环,还有一个while循环 for循环:循环次数是明确了的 while循环:循环次数不确定,循环停止条件由用户自定义 # while语句结构 while 判断条件: 执行 ...
- Spring IOC官方文档学习笔记(三)之依赖项
1.依赖注入 (1) 依赖注入(DI)的概念:某个bean的依赖项,由容器来负责注入维护,而非我们自己手动去维护,以此来达到bean之间解耦的目的,如下 //情况一:不使用依赖注入 public cl ...
- PRIx64:uint64_t类型输出为十六进制格式
#include <stdio.h> #include <stdint.h> #include <inttypes.h> int main(void) { uint ...
- [深度学习] imgaug库使用笔记
imgaug是一款非常有用的python图像增强库,非常值得推荐应用于深度学习图像增强.其包含许多增强技术,支持图像分类,目标检测,语义分割,热图.关键点检测等一系列任务的图像增强.本文主要介绍img ...
- [seaborn] seaborn学习笔记10-绘图实例(2) Drawing example(2)
文章目录 10 绘图实例(2) Drawing example(2) 1. Grouped violinplots with split violins(violinplot) 2. Annotate ...
- 道长的算法笔记:Trie字典树
Trie模板 Trie 是一种用于实现字典序快速检索的多叉树结构,Trie 每个节点都有若干的字符指针,若在扫扫描字符串时扫到字符 \(c\),则沿着当前节点 \(c\) 字符指针走向该指针指向的节点 ...
- [C#]C++/CLI中interior_ptr和pin_ptr的区别
interior_ptr 当垃圾回收器移动对象时,Interior pointer能随之移动,并始终指向该对象. 但是如果把这个指针返回给外部函数,那么当垃圾回收时(垃圾回收期间会压缩对象,),对象地 ...
- .NET周报【1月第2期 2023-01-13】
国内文章 [ASP.NET Core]按用户等级授权 https://www.cnblogs.com/tcjiaan/p/17024363.html 本文介绍了ASP.NET Core如何按照用户等级 ...
- Python读取大量Excel文件并跨文件批量计算平均值
本文介绍基于Python语言,实现对多个不同Excel文件进行数据读取与平均值计算的方法. 首先,让我们来看一下具体需求:目前有一个文件夹,其中存放了大量Excel文件:文件名称是每一位同学的 ...
- elasticsearch中使用runtime fields
1.背景 在我们使用es的开发过程中可能会遇到这么一种情况,比如我们的线路名称字段lineName字段在设置mapping的时候使用的是text类型,但是后期发现需要使用这个字段来进行聚合操作,那么我 ...