redis配置文件详解

redis史上最全最详细的配置文件解读,想要学习的同学速来围观,快过来看,不看会后悔啊。

redis启动的时候除了可以不带参数启动之外,对于其他灵活配置 也提供了其他配置选项,如是否开启持久化、日志级别等。由于可以配置的选项较多,通过启动参数设置这些选项并不方便,所以redis支持通过配置文件来设置这些选项。方法是在启动时将配置文件路径作为参数,下面我们来简单介绍一下该配置 redis.conf。

单位设置:

1k => 1000 bytes
1kb => 1024 bytes
1m => 1000000 bytes
1mb => 1024*1024 bytes
1g => 1000000000 bytes
1gb => 1024*1024*1024 bytes

单位是不区分大小写的,所以 1GB、1Gb、1gB是相同的。

include 包含配置:

在此处包含一个或多个其他配置文件。
如果您有一个用于所有Redis Server的标准模板,但还需要为每个 Server 自定义一些设置,则此模板非常有用。
include 可以包含其它配置文件,因此请明智地使用它。

注意选项“include”设置不会被来自redis admin或redis sentinel的命令“config rewrite”重写。

因为redis始终使用最后处理的选项配置行作为配置指令的值,所以最好将include放在该文件的开头,以避免在运行时覆盖配置更改。

如果您有兴趣使用 include 来覆盖以往的配置选项,就将 include 作为最后一行。

include /path/to/local.conf
include /path/to/other.conf

模块配置:

启动时加载模块。如果服务器无法加载模块,它将中止启动。可以使用多个loadmodule指令。

loadmodule /path/to/my_module.so
loadmodule /path/to/other_module.so

网络配置:

bind 从指定的网络接口(网卡)监听连接请求:
默认情况下,如果未指定“bind”配置指令,Redis将侦听服务器上所有可用网络接口的连接。可以使用“bind”配置指令,后跟一个或多个IP地址,只侦听一个或多个选定接口。
示例:
bind 192.168.1.100 10.0.0.1
bind 127.0.0.1::1

~~~警告~~~
如果运行Redis的计算机直接暴露在互联网上,绑定到所有接口是危险的,并且会将实例暴露给互联网上的每个人。因此,默认情况下,我们取消对以下绑定指令的注释,这将强制Redis只侦听ipv4环回接口地址(这意味着redis只能接受运行在同一台计算机上的客户端的连接)。

如果您确定要让实例监听所有接口,则必须对以下行进行注释。
bind 127.0.0.1

protected-mode 保护模式:

保护模式是一个安全保护层,为了避免在Internet上打开的Redis实例被访问和利用。
当保护模式打开时,如果:
1)服务器没有使用“bind”指令显式绑定到一组地址。
2)未配置密码。
服务器仅接受来自IPv4和IPv6环回地址 127.0.0.1和:: 1以及Unix域套接字的客户端的连接
默认情况下启用保护模式。
只有在确定希望其他主机的客户端连接到Redis时,则应禁用它,即使未配置任何身份验证,也没使用“bind”指令明确列出一组特定的网络接口。
protected-mode yes

监听端口号:

接受指定端口上的连接,默认为6379(IANA 815344)。如果指定端口 0,则Redis不会侦听TCP套接字。
port 6379

TCP listen backlog:

在每秒高请求的环境中,您需要调高此值以避免客户端连接缓慢的问题。此参数确定了服务端 socket 的监听队列长度。
请注意,Linux内核默认自动将其缩短为/proc/sys/net/core/somaxconn的值,因此请确保同时提高系统内核 net.core.somaxconn 和 net.ipv4.tcp_max_syn_backlog 的值,以获得所需的效果。
Linux的默认somaxconn 值是128,一般会将它修改为2048或者更大。在/etc/sysctl.conf中添加:net.core.somaxconn = 2048,然后在终端中执行sysctl -p。

tcp-backlog 511

Unix socket:

指定将用于侦听传入连接的Unix套接字的路径。
没有默认值,因此Redis在未指定时不会侦听unix套接字。

如果redis客户端和服务器在同一台机器,不需要走TCP网络接口监听,使用unix socket 方式效果会很明显。

unixsocket /tmp/redis.sock   # socket文件路径
unixsocketperm 700           # socket文件权限

timeout 超时:

客户端空闲n秒后关闭连接(0 表示禁用)

timeout 0

TCP keepalive:

如果非 0,则与客户端缺乏通讯时周期性的使用SO_KEEPALIVE向客户端发送TCP ACK。检测客户端是否还处于健康状态,避免服务器一直阻塞。
这有两个原因:
1)检测死机的客户端。
2)从中间的网络设备的角度来看连接是否健康。
在Linux上,指定的值(以秒为单位)是用于发送ACK的周期。
请注意,要关闭连接,需要两倍的时间。
在其他内核上,周期取决于内核配置。
此选项的合理值为300秒,这是从Redis 3.2.1版本开始的新默认值。
tcp-keepalive 300

守护进程:

默认情况下,Redis不以后台守护进程方式运行。
如果需要,请设置为 “yes”。
请注意,当以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件。

daemonize yes

supervised:

Redis 3.2新增命令。如果需要在机器启动(upstart模式 或 systemd模式)时就启动Redis服务器,可以通过该选项来配置Redis。

支持的模式:
supervised no – 不会与supervised tree进行交互
supervised upstart – 将Redis server 添加到 SIGSTOP 模式中
supervised systemd – 将 READY=1 写入 $NOTIFY_SOCKET
supervised auto – 根据环境变量UPSTART_JOB 或 NOTIFY_SOCKET 自动检测选择 upstart 还是 systemd

注意,上述supervision方法(upstart或systemd)仅发出“程序已就绪”信号,不会继续给supervisor返回ping回复。
默认是不开启。

supervised no

Pid文件路径:

如果指定了pid文件,Redis启动时会将其写入指定的位置,并在退出时将其删除。

当Redis server 以非守护进程方式运行时,如果配置中未指定任何pid文件,则不会创建该文件。
当Redis server 以守护进程方式运行时,即使没有指定,也会使用pid文件,默认为“/var/run/redis.pid”。

如果Redis无法创建,也不会发生任何错误,Redis server将正常启动和运行。

pidfile /var/run/redis_6380.pid

Redis Server日志级别:

指定Server 日志详细复杂度级别。
Redis提供四种级别:

debug —- 包含大量信息,用于开发和测试
verbose —- 包含一些较少的有用信息,但没有debug级别混乱
notice —- 适量的提示信息,用于生产环境
warning —- 只包含非常重要和关键的信息

默认是notice

loglevel notice

 

Redis Server日志名和路径:

指定日志文件名和路径。此外,指定为空,则强制redis 的日志输出到 标准输出。 
但是以守护进程方式启动redis,当不指定日志文件名和路径时,日志会输出到 /dev/null。

logfile /opt/redis/redis_6380.log

更改日志的记录位置:

要想把日志记录到系统日志,就把它改成 yes,
## 也可以可选择性的更新其他的syslog 参数以达到你的要求
# syslog-enabled no

#设置 syslog 的 identity。
# Specify the syslog identity.
# syslog-ident redis:
#
# 设置 syslog 的 facility,必须是 USER 或者是 LOCAL0-LOCAL7 之间的值
#
# Specify the syslog facility. Must be USER or between LOCAL0-LOCAL7.
# syslog-facility local0

redis的初始化数据库数量:

redis启动时候的初始化库的数量
#默认初始化库为16
databases 16

快照持久化设置:

快照持久化是指将再符合一定条件下将内存中的数据已二进制的形式保存在磁盘中,防止redis服务宕机导致数据丢失(不能绝对保证数据不丢失)

rdb 快照持久化操作的触发条件

  # 900秒钟有一个key发生变化触发快照持久化
  save 900 1
  # 300秒钟有一个key发生变化触发快照持久化
  save 300 10
  #60秒钟有10000个key发生变化触发快照持久化
  save 60 10000

#当redis bgsave发生错误的时候拒绝客户端的请求,
如果用户开启了RDB快照功能,那么在redis持久化数据到磁盘时如果出现失败,默认情况下,redis会停止接受所有的写请求。
这样做的好处在于可以让用户很明确的知道内存中的数据和磁盘上的数据已经存在不一致了。
如果redis不顾这种不一致,一意孤行的继续接收写请求,就可能会引起一些灾难性的后果。
如果下一次RDB持久化成功,redis会自动恢复接受写请求。
如果不在乎这种数据不一致或者有其他的手段发现和控制这种不一致的话,可以关闭这个功能,
以便在快照写入失败时,也能确保redis继续接受新的写
#bgsave失败一般是磁盘或者内存空间不够,需要监控来提高数据安全性
 
 stop-writes-on-bgsave-error yes

 持久化数据的时候 选择需要压缩字符串对象  yes压缩默认  no 不压缩
对于存储到磁盘中的快照,可以设置是否进行压缩存储。
  如果是的话,redis会采用LZF算法进行压缩。如果你不想消耗CPU来进行压缩的话,
  可以设置为关闭此功能,但是存储在磁盘上的快照会比较大。
  
  rdbcompression yes

在存储快照后,我们还可以让redis使用CRC64算法来进行数据校验,但是这样做会增加大约10%的性能消耗,
  如果希望获取到最大的性能提升,可以关闭此功能。 
    rdbchecksum yes

# rdb快照持久化的文件名
  
  dbfilename dump.rdb
# rdb快照持久化的文件路径
 
   dir ./

集群设置:

Redis replication 是一种 master-slave 模式的复制机制,这种机制使得 slave 节点可以成为与 master 节点完全相同的副本。
主从复制。使用 slaveof 来让一个 redis 实例成为另一个reids 实例的副本。
# 注意这个只需要在 slave 上配置。
#
# slaveof  
 
# 如果 master 需要密码认证,就在这里设置
# masterauth 
 
# 当一个 slave 与 master 失去联系,或者复制正在进行的时候,
# slave 可能会有两种表现:
#
# 1) 如果为 yes ,slave 仍然会应答客户端请求,但返回的数据可能是过时,
#    或者数据可能是空的在第一次同步的时候
#
# 2) 如果为 no ,在你执行除了 info he salveof 之外的其他命令时,
#    slave 都将返回一个 "SYNC with master in progress" 的错误,
#
slave-serve-stale-data yes
 
# 你可以配置一个 slave 实体是否接受写入操作。
# 通过写入操作来存储一些短暂的数据对于一个 slave 实例来说可能是有用的,
# 因为相对从 master 重新同步数而言,据数据写入到 slave 会更容易被删除。
# 但是如果客户端因为一个错误的配置写入,也可能会导致一些问题。
#
# 从 redis 2.6 版起,默认 slaves 都是只读的。
#
# Note: read only slaves are not designed to be exposed to untrusted clients
# on the internet. It's just a protection layer against misuse of the instance.
# Still a read only slave exports by default all the administrative commands
# such as CONFIG, DEBUG, and so forth. To a limited extent you can improve
# security of read only slaves using 'rename-command' to shadow all the
# administrative / dangerous commands.
# 注意:只读的 slaves 没有被设计成在 internet 上暴露给不受信任的客户端。
# 它仅仅是一个针对误用实例的一个保护层。
slave-read-only yes
 
# Slaves 在一个预定义的时间间隔内发送 ping 命令到 server 。
# 你可以改变这个时间间隔。默认为 10 秒。
#
# repl-ping-slave-period 10
 
# The following option sets the replication timeout for:
# 设置主从复制过期时间
#
# 1) Bulk transfer I/O during SYNC, from the point of view of slave.
# 2) Master timeout from the point of view of slaves (data, pings).
# 3) Slave timeout from the point of view of masters (REPLCONF ACK pings).
#
# It is important to make sure that this value is greater than the value
# specified for repl-ping-slave-period otherwise a timeout will be detected
# every time there is low traffic between the master and the slave.
# 这个值一定要比 repl-ping-slave-period 大
#
# repl-timeout 60
 
# Disable TCP_NODELAY on the slave socket after SYNC?
#
# If you select "yes" Redis will use a smaller number of TCP packets and
# less bandwidth to send data to slaves. But this can add a delay for
# the data to appear on the slave side, up to 40 milliseconds with
# Linux kernels using a default configuration.
#
# If you select "no" the delay for data to appear on the slave side will
# be reduced but more bandwidth will be used for replication.
#
# By default we optimize for low latency, but in very high traffic conditions
# or when the master and slaves are many hops away, turning this to "yes" may
# be a good idea.
repl-disable-tcp-nodelay no
 
# 设置主从复制容量大小。这个 backlog 是一个用来在 slaves 被断开连接时
# 存放 slave 数据的 buffer,所以当一个 slave 想要重新连接,通常不希望全部重新同步,
# 只是部分同步就够了,仅仅传递 slave 在断开连接时丢失的这部分数据。
#
# The biggest the replication backlog, the longer the time the slave can be
# disconnected and later be able to perform a partial resynchronization.
# 这个值越大,salve 可以断开连接的时间就越长。
#
# The backlog is only allocated once there is at least a slave connected.
#
# repl-backlog-size 1mb
 
# After a master has no longer connected slaves for some time, the backlog
# will be freed. The following option configures the amount of seconds that
# need to elapse, starting from the time the last slave disconnected, for
# the backlog buffer to be freed.
# 在某些时候,master 不再连接 slaves,backlog 将被释放。
#
# A value of 0 means to never release the backlog.
# 如果设置为 0 ,意味着绝不释放 backlog 。
#
# repl-backlog-ttl 3600
 
# 当 master 不能正常工作的时候,Redis Sentinel 会从 slaves 中选出一个新的 master,
# 这个值越小,就越会被优先选中,但是如果是 0 , 那是意味着这个 slave 不可能被选中。
#
# 默认优先级为 100。
slave-priority 100
 
# It is possible for a master to stop accepting writes if there are less than
# N slaves connected, having a lag less or equal than M seconds.
#
# The N slaves need to be in "online" state.
#
# The lag in seconds, that must be <= the specified value, is calculated from
# the last ping received from the slave, that is usually sent every second.
#
# This option does not GUARANTEES that N replicas will accept the write, but
# will limit the window of exposure for lost writes in case not enough slaves
# are available, to the specified number of seconds.
#
# For example to require at least 3 slaves with a lag <= 10 seconds use:
#
# min-slaves-to-write 3
# min-slaves-max-lag 10
#
# Setting one or the other to 0 disables the feature.
#
# By default min-slaves-to-write is set to 0 (feature disabled) and
# min-slaves-max-lag is set to 10.

安全:

# 设置认证密码
# requirepass 自己的密码

限制 LIMIT:

限制同时连接的客户数量,默认是10000
# 当连接数超过这个值时,redis 将不再接收其他连接请求,客户端尝试连接时将收到 error 信息
# maxclients 10000
设置redis能够使用的最大内存。
# 达到最大内存设置后,Redis会先尝试清除已到期或即将到期的Key(设置过expire信息的key)
# 在删除时,按照过期时间进行删除,最早将要被过期的key将最先被删除
# 如果已到期或即将到期的key删光,仍进行set操作,那么将返回错误
# 此时redis将不再接收写请求,只接收get请求。
# maxmemory的设置比较适合于把redis当作于类似memcached 的缓存来使用
maxmemory 
最大内存策略,你有 5 个选择。
# 
# volatile-lru -> remove the key with an expire set using an LRU algorithm
# volatile-lru -> 使用 LRU 算法移除包含过期设置的 key 。
# allkeys-lru -> remove any key accordingly to the LRU algorithm
# allkeys-lru -> 根据 LRU 算法移除所有的 key 。
# volatile-random -> remove a random key with an expire set
# allkeys-random -> remove a random key, any key
# volatile-ttl -> remove the key with the nearest expire time (minor TTL)
# noeviction -> don't expire at all, just return an error on write operations
# noeviction -> 不让任何 key 过期,只是给写入操作返回一个错误
#默认值 noeviction 不让任何 key 过期只是给写入操作返回一个错误:


 maxmemory-policy noeviction
内存置换策略
Redis 中的 LRU 不是严格意义上的LRU算法实现,是一种近似的 LRU 实现,主要是为了节约内存占用以及提升性能。Redis 有这样一个配置 —— maxmemory-samples,Redis 的 LRU 是取出配置的数目的key,然后从中选择一个最近最不经常使用的 key 进行置换,默认的 5
 
  maxmemory-samples 5

是否开启salve的最大内存
# replica-ignore-maxmemory yes

#以非阻塞方式释放内存 no不以非阻塞方式释放内存 yes 以非阻塞方式释放内存
# 内存最大时 清除缓存是否以非阻塞方式
lazyfree-lazy-eviction no
# 满足过期时间 清除缓存是否以非阻塞方式
lazyfree-lazy-expire no
# 显示删除 清除缓存是否以非阻塞方式
lazyfree-lazy-server-del no
# 手动清除库清除缓存是否以非阻塞方式
replica-lazy-flush no

aof持久化:

AOF的出现很好的解决了数据持久化的实时性,AOF以独立日志的方式记录每次写命令,重启时再重新执行AOF文件中的命令来恢复数据。
AOF会先把命令追加在AOF缓冲区,然后根据对应策略写入硬盘(appendfsync)

 

 #是否开启aof 持久化appendonly no

aof持久化策略
#服务器每写入一个命令,就调用一次fdatasync,将缓冲区里面的命令写入到磁盘里面,
#在这种模式下,服务器即使遭遇意外停机,也不会丢失任何自己已经成功执行的命令数据
#这种策略下虽然降低了数据的丢失 但是非常消耗性能
appendfsync always
#服务器每一秒重调用一次fdatasync,将缓冲区里面的命令写入到磁盘里面,
#在这种模式写,服务器即使遭遇意外停机时,最多只丢失一秒钟内执行的命令数据
# 但是性能开销居中 折中来说大部分情况使用该方式
appendfsync everysec
#服务器不主动调用fdatasync,由操作系统决定任何将缓冲区里面的命令写入磁盘里面,
#在这种模式写,服务器遭遇意外停机时,丢失命令的数据是不确定的
appendfsync no


#aof持久化文件文件名
 
appendfilename "appendonly.aof"
#aof自动重写配置。当目前aof文件大小超过上一次重写的aof文件大小的百分之多少进行重写,
#即当aof文件增长到一定大小的时候Redis能够调用bgrewriteaof对日志文件进行重写。
#当前AOF文件大小是上次日志重写得到AOF文件大小的二倍(设置为100)时,自动启动新的日志重写过程。
auto-aof-rewrite-percentage 100
#设置允许重写的最小aof文件大小,避免了达到约定百分比但尺寸仍然很小的情况还要重写
auto-aof-rewrite-min-size 64mb
如果aof文件过大时候进行文件重写时是fork一个子程序进行aof文件重写 同时redis在主程序中进行aof持久化时候  
(出现一个问题正常情况下两个操作需要同时操作磁盘 但是fork进行的操作可能是需要进行长时间阻塞的操作对于此期间进行主程序的
写操作会出现一些问题) 该命令就是为了解决这个问题的

同时在执行bgrewriteaof操作和主进程写aof文件的操作,两者都会操作磁盘,而bgrewriteaof往往会涉及大量磁盘操作,
这样就会造成主进程在写aof文件的时候出现阻塞的情形,现在no-appendfsync-on-rewrite参数出场了。
如果该参数设置为no,是最安全的方式,不会丢失数据,但是要忍受阻塞的问题。如果设置为yes呢?
这就相当于将appendfsync设置为no,这说明并没有执行磁盘操作,只是写入了缓冲区,因此这样并不会造成阻塞(因为没有竞争磁盘),
但是如果这个时候redis挂掉,就会丢失数据。丢失多少数据呢?在linux的操作系统的默认设置下,最多会丢失30s的数据。

no-appendfsync-on-rewrite=yes

指redis在恢复时,会忽略最后一条可能存在问题的指令。默认值yes。即在aof写入时,
可能存在指令写错的问题(突然断电,写了一半),这种情况下,yes会log并继续,而no会直接恢复失败.
aof-load-truncated yes

是否同时开启rdb持久化或者aof持久化
aof-use-rdb-preamble yes

如果达到最大时间限制(毫秒),redis会记个log,然后返回error。当一个脚本超过了最大时限。
只有SCRIPT KILL和SHUTDOWN NOSAVE可以用。第一个可以杀没有调write命令的东西。要是已经调用了write,只能用第二个命令杀。
lua-time-limit 5000


#集群配置文件的名称,每个节点都有一个集群相关的配置文件,持久化保存集群的信息。这个文件并不需要手动配置,
#这个配置文件有Redis生成并更新,每个Redis集群节点需要一个单独的配置文件,请确保与实例运行的系统中配置文件名称不冲突
 cluster-config-file nodes-6379.conf

#节点互连超时的阀值。集群节点超时毫秒数
 cluster-node-timeout 15000

#在进行故障转移的时候,全部slave都会请求申请为master,但是有些slave可能与master断开连接一段时间了,导致数据过于陈旧,
这样的slave不应该被提升为master。该参数就是用来判断slave节点与master断线的时间是否过长。判断方法是:
#比较slave断开连接的时间和(node-timeout * slave-validity-factor) + repl-ping-slave-period
#如果节点超时时间为三十秒, 并且slave-validity-factor为10,假设默认的repl-ping-slave-period是10秒,即如果超过310秒slave将不会尝试进行故障转移 
# cluster-slave-validity-factor 10

#master的slave数量大于该值,slave才能迁移到其他孤立master上,如这个参数若被设为2,
#那么只有当一个主节点拥有2 个可工作的从节点时,它的一个从节点会尝试迁移。
 cluster-migration-barrier 1

#默认情况下,集群全部的slot有节点负责,集群状态才为ok,才能提供服务。设置为no,可以在slot没有全部分配的时候提供服务。不建议打开该配置,
这样会造成分区的时候,小分区的master一直在接受写请求,而造成很长时间数据不一致。
 cluster-require-full-coverage yes



SLOW LOGslow log是用来记录redis运行中执行比较慢的命令耗时。当命令的执行超过了指定时间,就记录在slow log中,slog log保存在内存中,所以没有IO操作。
#执行时间比slowlog-log-slower-than大的请求记录到slowlog里面,单位是微秒,所以1000000就是1秒。注意,负数时间会禁用慢查询日志,而0则会强制记录所有命令。
slowlog-log-slower-than 10000

#慢查询日志长度。当一个新的命令被写进日志的时候,最老的那个记录会被删掉。这个长度没有限制。只要有足够的内存就行。你可以通过 SLOWLOG RESET 来释放内存。
slowlog-max-len 128

LATENCY MONITOR 延迟监控
 
#延迟监控功能是用来监控redis中执行比较缓慢的一些操作,用LATENCY打印redis实例在跑命令时的耗时图表。只记录大于等于下边设置的值的操作。
#0的话,就是关闭监视。默认延迟监控功能是关闭的,如果你需要打开,也可以通过CONFIG SET命令动态设置。
latency-monitor-threshold 0


 
 #键空间通知使得客户端可以通过订阅频道或模式,来接收那些以某种方式改动了 Redis 数据集的事件。因为开启键空间通知功能需要消耗一些 CPU ,所以在默认配置下,该功能处于关闭状态。
#notify-keyspace-events 的参数可以是以下字符的任意组合,它指定了服务器该发送哪些类型的通知:
##K 键空间通知,所有通知以 __keyspace@__ 为前缀
##E 键事件通知,所有通知以 __keyevent@__ 为前缀
##g DEL 、 EXPIRE 、 RENAME 等类型无关的通用命令的通知
##$ 字符串命令的通知
##l 列表命令的通知
##s 集合命令的通知
##h 哈希命令的通知
##z 有序集合命令的通知
##x 过期事件:每当有过期键被删除时发送
##e 驱逐(evict)事件:每当有键因为 maxmemory 政策而被删除时发送
##A 参数 g$lshzxe 的别名
#输入的参数中至少要有一个 K 或者 E,否则的话,不管其余的参数是什么,都不会有任何 通知被分发。详细使用可以参考http://redis.io/topics/notifications

notify-keyspace-events ""

 
 #键空间通知使得客户端可以通过订阅频道或模式,来接收那些以某种方式改动了 Redis 数据集的事件。因为开启键空间通知功能需要消耗一些 CPU ,所以在默认配置下,该功能处于关闭状态。
#notify-keyspace-events 的参数可以是以下字符的任意组合,它指定了服务器该发送哪些类型的通知:
##K 键空间通知,所有通知以 __keyspace@__ 为前缀
##E 键事件通知,所有通知以 __keyevent@__ 为前缀
##g DEL 、 EXPIRE 、 RENAME 等类型无关的通用命令的通知
##$ 字符串命令的通知
##l 列表命令的通知
##s 集合命令的通知
##h 哈希命令的通知
##z 有序集合命令的通知
##x 过期事件:每当有过期键被删除时发送
##e 驱逐(evict)事件:每当有键因为 maxmemory 政策而被删除时发送
##A 参数 g$lshzxe 的别名
#输入的参数中至少要有一个 K 或者 E,否则的话,不管其余的参数是什么,都不会有任何 通知被分发。详细使用可以参考http://redis.io/topics/notifications

notify-keyspace-events ""

 

 

 

 

 

 


 

 

 

 

 

你可能感兴趣的:(redis)