Redis如何查看配置?

Redis 的配置文件位于 Redis 安装目录下,文件名为 redis.conf(Windows 名为 redis.windows.conf)。

你可以通过 CONFIG 命令查看或设置配置项。

语法

Redis CONFIG 命令格式如下:

redis 127.0.0.1:6379> CONFIG GET CONFIG_SETTING_NAME

实例演示

键值对形式返回当前配置

redis 127.0.0.1:6379> config get loglevel1) "loglevel"
2) "notice"

使用 * 号获取所有现在配置项:

127.0.0.1:6379> config get *1) "slaveof"2) ""3) "cluster-announce-hostname"4) ""5) "proto-max-bulk-len"6) "536870912"7) "rdb-del-sync-files"8) "no"9) "requirepass"10) ""11) "tls-client-key-file"12) ""13) "repl-diskless-sync-max-replicas"14) "0"15) "port"16) "6379"17) "tcp-keepalive"18) "300"19) "latency-tracking"20) "yes"21) "enable-protected-configs"22) "no"23) "cluster-preferred-endpoint-type"24) "ip"25) "rdbchecksum"26) "yes"27) "timeout"28) "0"29) "tls-prefer-server-ciphers"30) "no"31) "cluster-slave-no-failover"32) "no"33) "unixsocket"34) ""35) "repl-backlog-size"36) "1048576"37) "lazyfree-lazy-user-del"38) "no"39) "zset-max-ziplist-entries"40) "128"41) "crash-log-enabled"42) "yes"43) "zset-max-listpack-value"44) "64"45) "repl-diskless-sync-delay"46) "5"47) "slave-lazy-flush"48) "no"49) "repl-diskless-sync"50) "yes"51) "zset-max-listpack-entries"52) "128"53) "latency-monitor-threshold"54) "0"55) "cluster-announce-port"56) "0"57) "maxmemory"58) "0"59) "cluster-link-sendbuf-limit"60) "0"61) "proc-title-template"62) "{title} {listen-addr} {server-mode}"63) "slave-priority"64) "100"65) "tls-key-file-pass"66) ""67) "hash-max-listpack-value"68) "64"69) "repl-backlog-ttl"70) "3600"71) "aof-rewrite-incremental-fsync"72) "yes"73) "oom-score-adj"74) "no"75) "syslog-facility"76) "local0"77) "shutdown-on-sigint"78) "default"79) "notify-keyspace-events"80) ""81) "tls-port"82) "0"83) "shutdown-on-sigterm"84) "default"85) "slave-announce-port"86) "0"87) "cluster-node-timeout"88) "15000"89) "io-threads-do-reads"90) "no"91) "maxmemory-eviction-tenacity"92) "10"93) "active-defrag-threshold-upper"94) "100"95) "rdb-save-incremental-fsync"96) "yes"97) "protected-mode"98) "yes"99) "loglevel"
100) "notice"
101) "list-compress-depth"
102) "0"
103) "list-max-listpack-size"
104) "-2"
105) "replica-announce-ip"
106) ""
107) "appenddirname"
108) "appendonlydir"
109) "repl-ping-replica-period"
110) "10"
111) "crash-memcheck-enabled"
112) "yes"
113) "masterauth"
114) ""
115) "maxmemory-policy"
116) "noeviction"
117) "slave-announce-ip"
118) ""
119) "cluster-require-full-coverage"
120) "yes"
121) "bind"
122) "127.0.0.1 -::1"
123) "stream-node-max-bytes"
124) "4096"
125) "tls-protocols"
126) ""
127) "replica-announce-port"
128) "0"
129) "min-replicas-max-lag"
130) "10"
131) "syslog-ident"
132) "redis"
133) "repl-diskless-load"
134) "disabled"
135) "always-show-logo"
136) "no"
137) "appendonly"
138) "no"
139) "dir"
140) "/var/lib/redis"
141) "aof-use-rdb-preamble"
142) "yes"
143) "tls-auth-clients"
144) "yes"
145) "cluster-announce-tls-port"
146) "0"
147) "replica-priority"
148) "100"
149) "stop-writes-on-bgsave-error"
150) "yes"
151) "latency-tracking-info-percentiles"
152) "50 99 99.9"
153) "hll-sparse-max-bytes"
154) "3000"
155) "oom-score-adj-values"
156) "0 200 800"
157) "enable-debug-command"
158) "no"
159) "rdbcompression"
160) "yes"
161) "repl-ping-slave-period"
162) "10"
163) "ignore-warnings"
164) ""
165) "aof-load-truncated"
166) "yes"
167) "shutdown-timeout"
168) "10"
169) "replica-announced"
170) "yes"
171) "replica-read-only"
172) "yes"
173) "lazyfree-lazy-expire"
174) "no"
175) "tracking-table-max-keys"
176) "1000000"
177) "client-output-buffer-limit"
178) "normal 0 0 0 slave 268435456 67108864 60 pubsub 33554432 8388608 60"
179) "cluster-replica-validity-factor"
180) "10"
181) "logfile"
182) "/var/log/redis/redis-server.log"
183) "zset-max-ziplist-value"
184) "64"
185) "cluster-allow-replica-migration"
186) "yes"
187) "pidfile"
188) "/run/redis/redis-server.pid"
189) "hash-max-ziplist-value"
190) "64"
191) "lfu-decay-time"
192) "1"
193) "disable-thp"
194) "yes"
195) "save"
196) "3600 1 300 100 60 10000"
197) "masteruser"
198) ""
199) "dynamic-hz"
200) "yes"
201) "cluster-allow-pubsubshard-when-down"
202) "yes"
203) "unixsocketperm"
204) "0"
205) "dbfilename"
206) "dump.rdb"
207) "cluster-migration-barrier"
208) "1"
209) "active-expire-effort"
210) "1"
211) "cluster-replica-no-failover"
212) "no"
213) "replicaof"
214) ""
215) "tcp-backlog"
216) "511"
217) "enable-module-command"
218) "no"
219) "lfu-log-factor"
220) "10"
221) "cluster-slave-validity-factor"
222) "10"
223) "bio_cpulist"
224) ""
225) "cluster-announce-bus-port"
226) "0"
227) "server_cpulist"
228) ""
229) "appendfsync"
230) "everysec"
231) "slowlog-log-slower-than"
232) "10000"
233) "hz"
234) "10"
235) "auto-aof-rewrite-min-size"
236) "67108864"
237) "min-replicas-to-write"
238) "0"
239) "cluster-config-file"
240) "nodes.conf"
241) "lazyfree-lazy-server-del"
242) "no"
243) "tls-ca-cert-dir"
244) ""
245) "set-max-intset-entries"
246) "512"
247) "tls-dh-params-file"
248) ""
249) "slave-ignore-maxmemory"
250) "yes"
251) "aclfile"
252) ""
253) "activedefrag"
254) "no"
255) "syslog-enabled"
256) "no"
257) "aof-disable-auto-gc"
258) "no"
259) "maxclients"
260) "10000"
261) "cluster-enabled"
262) "no"
263) "active-defrag-threshold-lower"
264) "10"
265) "maxmemory-clients"
266) "0"
267) "tls-replication"
268) "no"
269) "cluster-port"
270) "0"
271) "tls-ciphers"
272) ""
273) "activerehashing"
274) "yes"
275) "acllog-max-len"
276) "128"
277) "sanitize-dump-payload"
278) "no"
279) "tls-session-cache-timeout"
280) "300"
281) "tls-session-cache-size"
282) "20480"
283) "databases"
284) "16"
285) "list-max-ziplist-size"
286) "-2"
287) "stream-node-max-entries"
288) "100"
289) "appendfilename"
290) "appendonly.aof"
291) "tls-client-key-file-pass"
292) ""
293) "active-defrag-cycle-max"
294) "25"
295) "aof_rewrite_cpulist"
296) ""
297) "jemalloc-bg-thread"
298) "yes"
299) "lua-time-limit"
300) "5000"
301) "socket-mark-id"
302) "0"
303) "bgsave_cpulist"
304) ""
305) "lazyfree-lazy-user-flush"
306) "no"
307) "auto-aof-rewrite-percentage"
308) "100"
309) "tls-key-file"
310) ""
311) "active-defrag-max-scan-fields"
312) "1000"
313) "supervised"
314) "systemd"
315) "tls-ciphersuites"
316) ""
317) "replica-ignore-disk-write-errors"
318) "no"
319) "slowlog-max-len"
320) "128"
321) "active-defrag-cycle-min"
322) "1"
323) "tls-client-cert-file"
324) ""
325) "slave-serve-stale-data"
326) "yes"
327) "tls-session-caching"
328) "yes"
329) "maxmemory-samples"
330) "5"
331) "hash-max-listpack-entries"
332) "512"
333) "replica-lazy-flush"
334) "no"
335) "cluster-allow-reads-when-down"
336) "no"
337) "min-slaves-max-lag"
338) "10"
339) "tls-cluster"
340) "no"
341) "lazyfree-lazy-eviction"
342) "no"
343) "slave-read-only"
344) "yes"
345) "busy-reply-threshold"
346) "5000"
347) "aof-timestamp-enabled"
348) "no"
349) "no-appendfsync-on-rewrite"
350) "no"
351) "acl-pubsub-default"
352) "resetchannels"
353) "tls-ca-cert-file"
354) ""
355) "hash-max-ziplist-entries"
356) "512"
357) "tls-cert-file"
358) ""
359) "io-threads"
360) "1"
361) "active-defrag-ignore-bytes"
362) "104857600"
363) "replica-ignore-maxmemory"
364) "yes"
365) "cluster-announce-ip"
366) ""
367) "client-query-buffer-limit"
368) "1073741824"
369) "set-proc-title"
370) "yes"
371) "repl-disable-tcp-nodelay"
372) "no"
373) "daemonize"
374) "yes"
375) "propagation-error-behavior"
376) "ignore"
377) "repl-timeout"
378) "60"
379) "replica-serve-stale-data"
380) "yes"
381) "bind-source-addr"
382) ""
383) "min-slaves-to-write"
384) "0"

Redis如何编辑配置?

你可以通过修改 redis.conf 文件或使用 CONFIG set 命令来修改配置。

语法

CONFIG SET 命令基本语法:

redis 127.0.0.1:6379> CONFIG SET CONFIG_SETTING_NAME NEW_CONFIG_VALUE

实例演示

redis 127.0.0.1:6379> config set loglevel "notice"
OK
redis 127.0.0.1:6379> config set loglevel1) "loglevel"
2) "notice"

参数说明

Linux系统如果你找不到redis.conf文件,使用$ whereis redis命令
至于redis.conf文件,不同版本会有所变化,可到官网查看https://redis.io/docs/manual/config/。下面是某一个版本的。
redis.conf 配置项说明如下:

  1. Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程

    daemonize no

  2. 当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定

    pidfile /var/run/redis.pid

  3. 指定Redis监听端口,默认端口为6379,作者在自己的一篇博文中解释了为什么选用6379作为默认端口,因为6379在手机按键上MERZ对应的号码,而MERZ取自意大利歌女Alessia Merz的名字

    port 6379

  4. 绑定的主机地址

    bind 127.0.0.1

  5. 当 客户端闲置多长时间后关闭连接,如果指定为0,表示关闭该功能
    timeout 300

  6. 指定日志记录级别,Redis总共支持四个级别:debug、verbose、notice、warning,默认为verbose

    loglevel verbose

  7. 日志记录方式,默认为标准输出,如果配置Redis为守护进程方式运行,而这里又配置为日志记录方式为标准输出,则日志将会发送给/dev/null

    logfile stdout

  8. 设置数据库的数量,默认数据库为0,可以使用SELECT 命令在连接上指定数据库id

    databases 16

  9. 指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合

    save <seconds> <changes>

    Redis默认配置文件中提供了三个条件:

    save 900 1

    save 300 10

    save 60 10000

    分别表示900秒(15分钟)内有1个更改,300秒(5分钟)内有10个更改以及60秒内有10000个更改。

  10. 指定存储至本地数据库时是否压缩数据,默认为yes,Redis采用LZF压缩,如果为了节省CPU时间,可以关闭该选项,但会导致数据库文件变的巨大

    rdbcompression yes

  11. 指定本地数据库文件名,默认值为dump.rdb

    dbfilename dump.rdb

  12. 指定本地数据库存放目录

    dir ./

  13. 设置当本机为slav服务时,设置master服务的IP地址及端口,在Redis启动时,它会自动从master进行数据同步

    slaveof <masterip> <masterport>

  14. 当master服务设置了密码保护时,slav服务连接master的密码

    masterauth <master-password>

  15. 设置Redis连接密码,如果配置了连接密码,客户端在连接Redis时需要通过AUTH 命令提供密码,默认关闭

    requirepass foobared

  16. 设置同一时间最大客户端连接数,默认无限制,Redis可以同时打开的客户端连接数为Redis进程可以打开的最大文件描述符数,如果设置 maxclients 0,表示不作限制。当客户端连接数到达限制时,Redis会关闭新的连接并向客户端返回max number of clients reached错误信息

    maxclients 128

  17. 指定Redis最大内存限制,Redis在启动时会把数据加载到内存中,达到最大内存后,Redis会先尝试清除已到期或即将到期的Key,当此方法处理 后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。Redis新的vm机制,会把Key存放内存,Value会存放在swap区

    maxmemory <bytes>

  18. 指定是否在每次更新操作后进行日志记录,Redis在默认情况下是异步的把数据写入磁盘,如果不开启,可能会在断电时导致一段时间内的数据丢失。因为 redis本身同步数据文件是按上面save条件来同步的,所以有的数据会在一段时间内只存在于内存中。默认为no

    appendonly no

  19. 指定更新日志文件名,默认为appendonly.aof

    appendfilename appendonly.aof

  20. 指定更新日志条件,共有3个可选值: no:表示等操作系统进行数据缓存同步到磁盘(快) always:表示每次更新操作后手动调用fsync()将数据写到磁盘(慢,安全) everysec:表示每秒同步一次(折衷,默认值)

    appendfsync everysec

  21. 指定是否启用虚拟内存机制,默认值为no,简单的介绍一下,VM机制将数据分页存放,由Redis将访问量较少的页即冷数据swap到磁盘上,访问多的页面由磁盘自动换出到内存中(在后面的文章我会仔细分析Redis的VM机制)

    vm-enabled no

  22. 虚拟内存文件路径,默认值为/tmp/redis.swap,不可多个Redis实例共享

    vm-swap-file /tmp/redis.swap

  23. 将所有大于vm-max-memory的数据存入虚拟内存,无论vm-max-memory设置多小,所有索引数据都是内存存储的(Redis的索引数据 就是keys),也就是说,当vm-max-memory设置为0的时候,其实是所有value都存在于磁盘。默认值为0

    vm-max-memory 0

  24. Redis swap文件分成了很多的page,一个对象可以保存在多个page上面,但一个page上不能被多个对象共享,vm-page-size是要根据存储的 数据大小来设定的,作者建议如果存储很多小对象,page大小最好设置为32或者64bytes;如果存储很大大对象,则可以使用更大的page,如果不 确定,就使用默认值

    vm-page-size 32

  25. 设置swap文件中的page数量,由于页表(一种表示页面空闲或使用的bitmap)是在放在内存中的,,在磁盘上每8个pages将消耗1byte的内存。

    vm-pages 134217728

  26. 设置访问swap文件的线程数,最好不要超过机器的核数,如果设置为0,那么所有对swap文件的操作都是串行的,可能会造成比较长时间的延迟。默认值为4

    vm-max-threads 4

  27. 设置在向客户端应答时,是否把较小的包合并为一个包发送,默认为开启

    glueoutputbuf yes

  28. 指定在超过一定的数量或者最大的元素超过某一临界值时,采用一种特殊的哈希算法

    hash-max-zipmap-entries 64

    hash-max-zipmap-value 512

  29. 指定是否激活重置哈希,默认为开启(后面在介绍Redis的哈希算法时具体介绍)

    activerehashing yes

  30. 指定包含其它的配置文件,可以在同一主机上多个Redis实例之间使用同一份配置文件,而同时各个实例又拥有自己的特定配置文件

    include /path/to/local.conf

Redis配置查看及设置相关推荐

  1. redis配置以及密码设置

    前言 redis默认情况下是没有密码的,这很容易导致服务器被攻击,被挖矿! 今天就给大家简单讲解一下自己在配置redis过程中所学习的,方便大家以后快速的上手. 注意:如果想快速配置则不需要看参数介绍 ...

  2. 一步一步学习Redis——使用config命令查看或设置配置项

    1.Redis配置 Redis 的配置文件位于 Redis 安装目录下,文件名为 redis.conf(Windows 名为 redis.windows.conf). 你可以通过 CONFIG 命令查 ...

  3. Redis 配置连接池,redisTemplate 操作多个db数据库,切换多个db,解决JedisConnectionFactory的设置连接方法过时问题。(转)

    Redis 配置连接池,redisTemplate 操作多个db数据库,切换多个db,解决JedisConnectionFactory的设置连接方法过时问题.(转) 参考文章: (1)Redis 配置 ...

  4. C# Azure 存储-分布式缓存Redis的新建配置查看

    C# Azure 存储-分布式缓存Redis的新建&配置&查看 1. 介绍 Redis 是一款开源的,基于 BSD 许可的,高级键值 (key-value) 缓存 (cache) 和存 ...

  5. 由于 web 服务器上此资源的访问控制列表(acl)配置或加密设置,您无权查看此目录或页面。...

    场景:IIS中遇到无法预览的有关问题(HTTP 异常 401.3 - Unauthorized 由于 Web 服务器上此资源的访问控制列表(ACL)配置或加密设置 IIS中遇到无法预览的问题(HTTP ...

  6. 关于Redis配置主从复制踩到的坑,主机不显示从机的连接信息

    关于Redis配置主从复制踩到的坑!!! 设置单机集群的时候,两台从机都显示连接到主机,但是主机显示连接到的从机数量为0: 主机信息: 从机80: 从机81: 查看从机log日志文件发现错误信息: M ...

  7. spring boot连接redis配置127.0.0.1_springboot+redis项目实战

    1.在springboot项目的pom.xml 文件里加入redis的jar依赖 <?xml version="1.0" encoding="UTF-8" ...

  8. Redis学习---(3)Redis 配置

    Redis 配置 Redis 的配置文件位于 Redis 安装目录下,文件名为 redis.conf. 你可以通过 CONFIG 命令查看或设置配置项. 语法 Redis CONFIG 命令格式如下: ...

  9. Redis配置优化和使用

    一.redis编码使用优化 1.尽量使用短的key 当然在精简的同时,不要为了key的"见名知意".对于value有些也可精简,比如性别使用0.1. 2.避免使用keys * ke ...

最新文章

  1. 直播 | 同源共流:一个优化框架统一与解释图神经网络
  2. wpspbc按钮是什么意思_抖音私密账号什么意思 抖音热评私密账号什么梗怎么设置?...
  3. 获取png格式的MNIST数据集
  4. 【计算几何】线段相交
  5. html上拉下拉查看文字内容,html5上拉下拉事件效果演示
  6. centos 7 nginx_install.sh
  7. NutzWk企业级开源开发框架 v5.2.6
  8. iPhone girl幕后推手浮出 制造者为论坛站长
  9. 二进制文件转成文本保存,并可以读回
  10. C程序设计语言(2)文摘
  11. APS技术中的多目标规划问题
  12. 记录:SpringBoot 开发之集成微信公众号支付
  13. 基于区域生长算法的图像分割python_基于区域分割(图像分割)
  14. Raster Map光栅图 VS Vector Map矢量图
  15. html 鼠标划过 ie导致白屏,win7系统IE浏览器网页出现白屏的解决方法
  16. AR技术应用 の 如何做一个Pokemon GO丢出精灵球抓住皮卡丘吧!(2)
  17. Anaconda3\Scripts\activate.bat 不是内部或外部命令,也不是可运行的程序的问题处理方法
  18. VIVADO安装问题
  19. 深度学习资料链接整理(囊括ML,DL,CV团队,网站,优秀博客,实验室等大堆资料集)
  20. 华为软件开发云如何为数字经济时代赋能?

热门文章

  1. DM8达梦数据库tpch测试步骤
  2. 细化迭代2:实现销售开单用例测试报告
  3. 瀑布式开发和敏捷式开发
  4. 日常工作中常用的几个git指令
  5. 工信部:加快 IPv6 部署,阿里云、腾讯云、UCloud等完成CDN的IPv6改造
  6. ZYNQ图像处理(1)——vdma_hdmi显示环境搭建
  7. react 百度地图定位
  8. Ubuntu保存退出vim编辑器
  9. 数据挖掘关联规则Apriori算法
  10. 用c语言编写因子分析程序,相应分析的R包ca和mca,cca,RDA的R实现整理