[转帖]Redis配置项汇总(超级详细)

redis,配置,汇总,超级,详细 · 浏览次数 : 0

小编点评

**Redis 常用配置项和基本命令** **配置项** * **port**:监听端口号,默认 6379。 * **daemonize**:是否以守护线程启动数据库。 * **database**:创建数据库的数量,默认 0。 * **save**:每 300 秒内触发一次快照写入硬盘。 * **save**:每 60 秒内触发一次快照写入硬盘。 * **stop-writes-on-bgsave-error**:当 bgsave 错误时是否停止写入命令。 * **rdbcompression**:是否使用 LZF 压缩 RDB 文件。 * **rdbchecksum**:在存储和加载 RDB 文件时进行校验。 * **dbfilename**:设置 RDB 文件名。 * **dir**:设置工作目录,默认于 `./`。 **基本命令** * **get**:从 key 中获取值。 * **set**:将值存储在 key 中。 * **del**:从 key 中删除值。 * **watch**:监控一个 key 的值变化,并在变化时触发回调函数。 * **quit**:关闭 Redis 服务器。 **示例配置** ``` # 监听端口 6379 port 6379 # 使用守护线程启动数据库 daemonize yes # 创建 16 个数据库 database 16 # 每 300 秒内写入 10 个键值对 save 10 # 每 60 秒内写入 100 个键值对 save 100 # 设置 bgsave 错误停止写入 stop-writes-on-bgsave-error yes # 使用 LZF 压缩 RDB 文件 rdbcompression yes # 设置 RDB 文件名 dbfilename dump.rdb # 设置工作目录为 `./` dir ./ # 设置主从服务配置 slaveof host 127.0.0.1 port 6379 masterauth "password" # 设置从服务器为只读模式 slave-serve-stale-data yes # 设置从服务器为 TCP 连接模式 slave-ping-slave-period 10 # 设置主服务器超时时间 slowlog_max_len 128 # 记录响应时间大于 10000 微秒的慢查询 slowlog_log_slower_than 10000 # 获取慢查询日志 slowlog get # 清空慢查询客户端命令缓存 slowlog reset # 清空慢查询缓存 slowlog clear # 清空所有慢查询缓存 slowlog clear all # 设置慢查询日志记录级别 slowlog set log_slower_than 10000 # 设置慢查询日志记录最大长度 slowlog set max_len 128 # 获取慢查询日志条数 slowlog len # 清空慢查询客户端命令缓存 slowlog clear client # 获取连接名称 name = client getname # 设置连接名称 client setname "my-client" # 验证登录密码 client auth "password" # 测试服务器是否可用 client ping # 连接并获取数据库 0 的键值对 select 0/1/2/3/4... quit ```

正文

http://c.biancheng.net/redis/config-summary.html

 

本节对 Redis 的常用配置项和基本命令做简单的总结,您可以把本篇文章看做简版的速查手册。不过,需要注意的是由于 Redis 不同版本的差异,配置项会多少存在一些不同,但总体的来说,大同小异。

基本配置

port 6379  # 监听端口号,默认为6379,如果你设为 0 ,redis 将不在 socket 上监听任何客户端连接。
daemonize no #指定redis是否以守护线程的方式启动
databases 16 #创建database的数量,默认为0库

save 900 1 #刷新快照到硬盘中。必须满足下列三个要求之一才会触发,即900秒内至少有1个key发生变化。
save 300 10 #在300秒内至少10个key发生变化。
save 60 10000 #在60秒之内至少有10000个可以发生变化。

stop-writes-on-bgsave-error yes #后台存储错误并停止写入命令。
rdbcompression yes #使用LZF方式压缩rdb文件。如果你想节省一些CPU可设置成'no'
rdbchecksum yes #在存储、加载rdb文件时进行校验。
dbfilename dump.rdb #设置rdb文件名。
dir ./ #设置工作目录,rdb文件会自动存放在该目录。

主从服务配置

slaveof <masterip> <masterport> #将本机设为某台机器的从服务器
masterauth <master-password> #连接主服务器的密码
slave-serve-stale-data yes # 当主机和从机断开时或这正处于在复制过程中,是否让从服务器是应答请求
slave-read-only yes #设置从服务器为只读模式
repl-diskless-sync no  #是否同时向多个从服务器节点同时发数据
repl-diskless-sync-delay 5 #发送数据的延迟时间
repl-ping-slave-period 10 #主节点默认每隔 10 秒对从节点发送 ping 命令
repl-timeout 60 #主从服务器超时时间(超时认为断线了),要比period设置的时间大

#如果master不能再正常工作,那么会在多个slave中,选择优先值最小的一个slave提升为master,
#优先值为0表示不能提升为master,一般在哨兵sentinel环境中使用。
slave-priority 100 

#在slave和master同步后,后续的同步是否设置成TCP_NODELAY,设置成no,则redis master会立即发送同步数据,没有延迟
repl-disable-tcp-nodelay no 
min-slaves-to-write 3 #主节点仅允许当能够通信的从节点数量大于等于此处的值时,才允许接受写操作;
min-slaves-max-lag 10 #从节点延迟时长超出此处指定的时间时,主节点会拒绝写入操作;

安全配置

requirepass foobared # 用来配置密码
rename-command CONFIG b84 #在公共环境下重命名部分敏感命令 如config、flushall等

限制配置

maxclients 10000 #最大连接数
maxmemory <bytes> #最大使用内存
maxmemory-policy volatile-lru #内存到极限后的处理策略

#内存处理策略,用于在超出内存限制时,删除一些key
volatile-lru # LRU算法删除过期key
allkeys-lru # LRU算法删除key(不区分过不过期)
volatile-random # 随机删除过期key
allkeys-random # 随机删除key(不区分过不过期)
volatile-ttl # 删除快过期的key
noeviction # 禁止删除key,这如果内存不足,会直接返回错误。默认配置

#用于提高LRU/TTL算法的精准度,在自动清理内存时,指定的数字越大,CPU消耗就越多,默认为5。
maxmemory-samples 5

AOF日志模式

appendonly no #是否启用日志模式
appendfsync no # 有系统决定何时写,统一写,速度快
appendfsync always # 系统不缓冲,一直写,但是慢,这种方式几乎不丢失数据
appendfsync everysec #每秒写1次

no-appendfsync-on-rewrite no #相当于将appendfsync设置为no,不存在磁盘操作,只是将数据写入了缓冲区,写入速度非常快
auto-AOF-rewrite-percentage 100 #触发aof重写操作,要求本次文件大小比上次重写时要增加1(100%)倍
auto-AOF-rewrite-min-size 64mb #触发aof重写操作,至少要达到的aof文件大小

慢查询配置

Redis slowlog 是一个记录 Redis 执行查询命令时所耗费时间的日志系统,它仅记录执行一个查询命令所耗费的时间,不记录其他内容。
slowlog-log-slower-than 10000 #记录响应时间大于10000微秒的慢查询
slowlog-max-len 128 # 最多记录128条

服务端命令

time #返回时间戳+微秒
dbsize #返回key的数量
bgrewriteaof #重写aof
bgsave #后台开启子进程来执行数据持久化
save #以阻塞的方式对数据进行持久化
lastsave #返回最近一次 Redis 成功将数据保存到磁盘上的时间,以 UNIX 时间戳格式表示。

slaveof host port #设置为host:port的从服务器(数据清空,复制新的主服务器内容)
slaveof no one   #变成主服务器(原数据不丢失,一般用于主服失败后)

flushdb 清空当前数据库的所有数据
flushall 清空所有数据库的所有数据

shutdown [save/nosave] 关闭服务器,保存数据,修改AOF

slowlog get 获取慢查询日志
slowlog len 获取慢查询日志条数
slowlog reset 清空慢查询

客户端命令

#以易于理解和阅读的方式返回Redis服务器的各种信息、统计数值
info [server|clients|memory|stats|]
config get [配置项]    #获取配置文件选项
config set [配置项] [参数值] #重新设置配置文件选项和对应参数
config rewrite  #对启动Redis服务器时所指定的配置文件进行改写
config resetstat #重置info命令中的某些统计信息

debug object key #调试选项,看一个key的情况
debug segfault #该命令能够让服务器崩溃
object key (refcount|encoding|idletime)
monitor #调试用,打开控制台,观察命令
client list #列出所有连接
client kill #杀死某个连接 CLIENT KILL 127.0.0.1:6379
client getname #获取连接的名称 默认nil
client setname  #设置连接名称,便于调试

连接命令

auth 密码  #验证登录密码(如果设置了密码)
ping      #测试服务器是否可用
echo "hello www.biancheng.net" #测试服务器是否正常交互
select 0/1/2/3/4...  #选择数据库0-15
quit  #退出连接

与[转帖]Redis配置项汇总(超级详细)相似的内容:

[转帖]Redis配置项汇总(超级详细)

http://c.biancheng.net/redis/config-summary.html 本节对 Redis 的常用配置项和基本命令做简单的总结,您可以把本篇文章看做简版的速查手册。不过,需要注意的是由于 Redis 不同版本的差异,配置项会多少存在一些不同,但总体的来说,大同小异。 基本配

[转帖]redis配置注意事项(适合于较大配置)

https://tool.4xseo.com/article/102125.html 实际中最好让redis主节点仅使用50-60%的内存,剩余的用于执行bgsave和创建写命令的缓冲区,保证最大可 ... 展开 根据官方的建议,redis-server的相关配置建议如下,但是有些并不合适,LZ会进

[转帖]Redis配置文件介绍

https://www.cnblogs.com/fanqisoft/p/10422381.html Redis在源码包中存放了一个Redis配置实例文件,文件中对各个配置点进行了简单的介绍,我也通过这个文件来对Redis的一些配置进行一些简单介绍。 一.UNITS(单位)【了解】 1.Redis服务

[转帖]Redis configuration

Redis configuration Redis可以仅使用内建的默认配置启动,而不需要指定配置文件。但是,这种启动仅推荐用于测试和开发。 对于配置Redis恰当的方式是提供一个Redis配置文件,通常叫做redis.conf。redis.conf包含大量的指令,格式如下: keyword argu

[转帖]Redis故障检查:识别慢查询操作

https://weibo.com/ttarticle/p/show?id=2309404650615585505652 使用SLOWLOG命令查看Redis中的慢查询操作。 ​​前几篇日志总结了下对Redis部署时的一些配置,Redis启动后,面对各种请求,数据持久化到硬盘,很可能会出现内存不足等

[转帖]Redis学习四(运维指南).

阅读目录 一、上线规划 二、常见运维操作 三、测试方法 回到顶部 一、上线规划 一般 redis 的参数配置都在 redis.conf 中,在上线前根据实际环境配置好合适参数,能有效提高 redis 的可用性。 redis 的运行机器 CPU 不求核数多,但求主频高,Cache大,因为 redis

[转帖]Redis 7 参数 修改 说明

2022-06-16 14:491800原创Redis 本文链接:https://www.cndba.cn/dave/article/108066 在之前的博客我们介绍了Redis 7 的安装和配置,如下: Linux 7.8 平台 Redis 7 安装并配置开机自启动 操作手册https://ww

[转帖]一张图搞定redis内存优化及配置

https://www.jianshu.com/p/3195663af83e Redis内存优化及配置.png Redis优化及配置 Redis所有的数据都在内存中,而内存又是非常宝贵的资源。常用的内存优化方案有如下几部分:一、配置优化二、缩减键值对象三、命令处理四、缓存淘汰方案 一、配置优化 Li

[转帖]redis惰性删除 lazy free 源码剖析,干货满满

目录 前言 数据删除场景 lazy free 概念 配置 源码剖析(版本 6.2.6) 场景一:客户端执行的显示删除/清除命令 场景二:某些指令带有的隐式删除命令 场景三:删除过期数据 场景四:内存淘汰数据删除 场景五:主从同步清空从库 小结 前言 都说 redis 是单线程的,其实并不是说 red

[转帖]Redis key 乱码问题(springboot)

保存到redis中的key 前半段会出现乱码问题 原来配置: @Configuration@EnableCachingpublic class RedisCacheConfig { @Bean public CacheManager cacheManager(RedisTemplate