redis3.2.1配置文件详解

最近公司正好在搞redis,学习一下顺便做一个简单的配置文件解释!因为用的是windows系统,最高版本就是3.2.1所以.....

如果有不妥的地方欢迎大家交流!!!

 

 

# Redis configuration file example

# Note on units: when memory size is needed, it is possible to specify
# it in the usual form of 1k 5GB 4M and so forth:
#
# 1k => 1000 bytes
# 1kb => 1024 bytes
# 1m => 1000000 bytes
# 1mb => 1024*1024 bytes
# 1g => 1000000000 bytes
# 1gb => 1024*1024*1024 bytes
#
# units are case insensitive so 1GB 1Gb 1gB are all the same.

################################## INCLUDES ###################################

# 假如说你有一个可用于所有的 redis server 的标准配置模板,
# 但针对某些 server 又需要一些个性化的设置,
# 你可以使用 include 来包含一些其他的配置文件,这对你来说是非常有用的。
# 但是要注意include 是不能被 config rewrite 命令改写的
# 由于 redis 总是以最后的加工线作为一个配置指令值,所以你最好是把 include 放在这个文件的最前面,
# 以避免在运行时覆盖配置的改变,相反,你就把它放在后面
#
# include .\path\to\local.conf

#
# include c:\path\to\other.conf

################################## NETWORK #####################################

# By default, if no "bind" configuration directive is specified, Redis listens
# for connections from all the network interfaces available on the server.
# It is possible to listen to just one or multiple selected interfaces using
# the "bind" configuration directive, followed by one or more IP addresses.
#
# Examples:
#
# bind 192.168.1.100 10.0.0.1
# bind 127.0.0.1 ::1
#
#指定要绑定的IP地址
bind 127.0.0.1

#是否开启密码保护模式
protected-mode yes

#绑定端口号
port 6379

#设置tcp的backlog(连接队列)
#相当于是完成和未完成3次握手的队列总和
tcp-backlog 511

#指定unix socket的路径
# unixsocket /tmp/redis.sock

#指定unix socket file的权限,最大777
# unixsocketperm 700

#连接超时时间,默认0无限制
timeout 0

#检测keepalive的值【健康检查】,建议60秒
# A reasonable value for this option is 60 seconds.
tcp-keepalive 0

################################# GENERAL #####################################

#日志级别
#debug(调试):大量信息,对开发/测试有用
#verbose(冗长):许多信息很少有用,但不像调试级别那样混乱
#notice(注意):适度冗长,可能是生产中需要的
#warning(警告):仅记录非常重要/关键的消息
loglevel notice

#日志文件存储路径
logfile "server_log.txt"

#是否启用日志
syslog-enabled yes

#系统日志标识
syslog-ident redis

#启动后有多少个数据库,默认16个
databases 16

################################ SNAPSHOTTING  ################################

#   In the example below the behaviour will be to save:
#   after 900 sec (15 min) if at least 1 key changed
#   after 300 sec (5 min) if at least 10 keys changed
#   after 60 sec if at least 10000 keys changed
#指定在多长时间内,有多少次更新操作,就将数据同步到数据文件可以多个条件配合
#900秒内1次更改
save 900 1

#300秒内10次更改
save 300 10

#60秒内10000次更改
save 60 10000

#持久化过程中失败,redis不会停止所有写请求
stop-writes-on-bgsave-error yes

#是否使用LZF算法对RDB文件进行压缩
rdbcompression yes

#是否对RDB数据进行校
rdbchecksum yes

#RDB持久化文件名称【不包含路径】
dbfilename dump.rdb

#持久化文件保存路径
dir ./

################################# REPLICATION #################################

#将当前服务器转变为指定服务器的从属服务器
# slaveof <masterip> <masterport>

#主服务器密码
# masterauth <master-password>

# yes,主从复制中,从服务器可以响应客户端请求;
# no,主从复制中,从服务器将阻塞所有请求,有客户端请求时返回“SYNC with master in progress”
slave-serve-stale-data yes

# 从服务器是否为只读,默认只读
slave-read-only yes

#
# Replication SYNC strategy: disk or socket.

#是否启用无硬盘复制
repl-diskless-sync no

#无硬盘复制超时时间,默认5秒
repl-diskless-sync-delay 5

#用于集群内心跳机制。心跳发送间隔,默认10秒
# repl-ping-slave-period 10

#主从同步超时时间,默认60秒;注意:超时时间一定要比心跳时间大
# repl-timeout 60

#主从同步时是否禁用tcp-nodelay
#开启情况使用更少的带宽进行主从同步,但同步延迟会加大
repl-disable-tcp-nodelay no

#当缓存到达指定值后同步到从属服务器
repl-backlog-size 1mb

#数据在缓冲区中的过时时间,默认3600秒
# repl-backlog-ttl 3600

#从服务器优先级,用于选举master,编号越小优先级越高
slave-priority 100

#以下两个设置配合使用
#即:当主节点有3个从节点,并且3个节点的链接延迟小于10秒master则执行客户端的写操作
# 如果3台没有同步完则不接受客户端的各种请求
#设置执行写操作需要的最少从属服务器数量
# min-slaves-to-write 3
#设置最大连接延迟
# min-slaves-max-lag 10
#
################################## SECURITY ###################################


#设置本节点的redis访问密码
# requirepass foobared

# Example:
#
# rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52
#
# It is also possible to completely kill a command by renaming it into
# an empty string:
#危险命令重命名
# rename-command FLUSHALL ""
# rename-command FLUSHDB  ""
# rename-command CONFIG ""
# rename-command KEYS ""
#
# Please note that changing the name of commands that are logged into the
# AOF file or transmitted to slaves may cause problems.

################################### LIMITS ####################################

#客户端最大连接数,默认是10000
#超出报:max number of clients reached
# maxclients 10000

#是否开启持久化
# persistence-available [(yes)|no]
#
#最大内存数
# maxmemory <bytes>
#
#volatile-lru:LRU算法进行移除,只针对设置了过期时间的值
#allkeys-lru:对所有的值用LRU算法进行移除
#volatile-random:在过期结合中移除随机的key
#allkeys-random:移除随机key
#设置内存移除规则
# maxmemory-policy noeviction

#样例数量
# maxmemory-samples 5

############################## APPEND ONLY MODE ###############################

#是否开启AOF模式
appendonly no
# The name of the append only file (default: "appendonly.aof")
appendfilename "appendonly.aof"

#写入策略
#每一次写操作都会调用一次fsync
# appendfsync always

#每隔一秒进行一次fsync调用,将缓冲区中的数据写到磁盘
appendfsync everysec

#Redis不会主动调用fsync去将AOF日志内容同步到磁盘
# appendfsync no

#是否在后台写时同步/单写,no表示同步写
no-appendfsync-on-rewrite no

#重写机制,当文件小于100byte时不能触发
auto-aof-rewrite-percentage 100

#aof文件重写最小的文件大小
auto-aof-rewrite-min-size 64mb

#指redis在恢复时,会忽略最后一条可能存在问题的指令。
#默认值yes,即在aof写入时,可能存在指令写错的问题(突然断电,写了一半)

#当AOF文件损坏时,是直接加载还是修复后加载
aof-load-truncated yes

################################ LUA SCRIPTING  ###############################

#超时时间,超过则阻塞其他任务以执行Lua脚本
lua-time-limit 5000

################################ REDIS CLUSTER  ###############################
#
#是否启用集群支持
# cluster-enabled yes

#群集节点每次发生更改时自动保留群集配置状态的文件路径
# cluster-config-file nodes-6379.conf

#Redis群集节点可以不可用的最长时间
# cluster-node-timeout 15000

#集群故障转移时间
# cluster-slave-validity-factor 10

#从节点迁移算法
# cluster-migration-barrier 1

#为no时,表示当负责一个插槽的主库下线且没有相应的从库进行故障恢复时,集群仍然可用
# cluster-require-full-coverage yes

################################## SLOW LOG ###################################

#表示slowlog的划定界限,只有query执行时间大于slowlog-log-slower-than的才会定义成慢查询,才会被slowlog进行记录
slowlog-log-slower-than 10000

#表示慢查询最大的条数
slowlog-max-len 128

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

#
latency-monitor-threshold 0

############################# EVENT NOTIFICATION ##############################

#当redis的key被删除时,redis会发送两种不同类型的事件,特定的事件会往特定的频道发送通知,我们只要订阅这个特定的频道等待通知即可.
#键空间通知
# PUBLISH __keyspace@0__:foo del
#键通知
# PUBLISH __keyevent@0__:del foo

#key过期时间配置
#notify-keyspace-events 的参数为 “Ex”。x 代表了过期事件
#notify-keyspace-events "Ex" 保存配置后,重启Redis服务,使配置生效。
#  notify-keyspace-events Elg
#  notify-keyspace-events Ex
#
notify-keyspace-events ""

############################### ADVANCED CONFIG ###############################

#表示当hash项(field,value)数>512即ziplist项>1024的时候转为dict
hash-max-ziplist-entries 512

#64,表示当hash中的value长度超过64的时候转为dict。
hash-max-ziplist-value 64

#参数的含义解释,取正值时表示quicklist节点ziplist包含的数据项。取负值表示按照占用字节来限定quicklist节点ziplist的长度。
#          -5: 每个quicklist节点上的ziplist大小不能超过64 Kb。
#          -4: 每个quicklist节点上的ziplist大小不能超过32 Kb。
#          -3: 每个quicklist节点上的ziplist大小不能超过16 Kb。
#          -2: 每个quicklist节点上的ziplist大小不能超过8 Kb。(默认值)
#          -1: 每个quicklist节点上的ziplist大小不能超过4 Kb。
list-max-ziplist-size -2

# list设计最容易被访问的是列表两端的数据,中间的访问频率很低
#如果符合这个场景list还有一个配置可以对中间节点进行压缩(采用的LZF——一种无损压缩算法)进一步节省内存
#含义:
#          0: 是个特殊值,表示都不压缩。这是Redis的默认值。
#          1: 表示quicklist两端各有1个节点不压缩,中间的节点压缩。
#          2: 表示quicklist两端各有2个节点不压缩,中间的节点压缩。
list-compress-depth 0

#添加的集合元素个数超过了set-max-intset-entries配置的值的时候,也会导致intset转成dict
set-max-intset-entries 512

#当有序集合的元素小于zset-max-ziplist-entries配置(默认是128个)
#同时每个元素的值都小于zset-max-ziplist-value(默认是64字节)时
#Redis会用ziplist来作为有序集合的内部编码实现,ziplist可以有效的减少内存的使用
zset-max-ziplist-entries 128
zset-max-ziplist-value 64

#HyperLogLog数据结构优化参数
hll-sparse-max-bytes 3000

#:是否重置Hash表,设置成yes后redis将每100毫秒使用1毫秒CPU时间来对redis的hash表重新hash可降低内存的使用
#当使用场景有较为严格的实时性需求,不能接受Redis时不时的对请求有2毫秒的延迟的话
#把这项配置为no,如果没有这么严格的实时性要求,可以设置为 yes,以便能够尽可能快的释放内存
activerehashing yes

#客户端输出缓冲区的配置
#三个参数分别表示 最大限制 最小限制 最小限制的持续时间
client-output-buffer-limit slave 256mb 64mb 60

#客户端发布/订阅模式的缓冲限制
client-output-buffer-limit pubsub 32mb 8mb 60

# 设置Redis后台任务执行频率,比如清除过期键任务。
# 设置范围为1到500,默认为10.越大CPU消耗越大,延迟越小。
# 建议不要超过100
hz 10

# 当子进程重写AOF文件,以下选项开启时,AOF文件会每产生32M数据同步一次。
# 这有助于更快写入文件到磁盘避免延迟
aof-rewrite-incremental-fsync yes

################################## INCLUDES ###################################

# 包含一个或多个其他配置文件。
# 这在你有标准配置模板但是每个redis服务器又需要个性设置的时候很有用。
# 包含文件特性允许你引人其他配置文件
# include /path/to/local.conf
# include /path/to/other.conf

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
对于Redis 3.2.1在Windows上的配置,以下是一些步骤和解决方法: 1. 首先,安装Redis 3.2.1并确保Redis服务已成功安装。你可以在服务中找到Redis服务并打开属性,可以看到“可执行文件的路径”是:"D:\Program Files\Redis\redis-server.exe" –service-run "D:\Program Files\Redis\redis.windows-service.conf"。 2. 如果你想要开启Redis的远程访问,需要进行一些配置。首先,打开redis.windows-service.conf文件。你可以找到"bind 127.0.0.1"这一行,并将其修改为"bind 0.0.0.0"。然后,找到"protected-mode yes"这一行,并将其修改为"protected-mode no"。这样就可以允许远程访问Redis了。 3. 有时候在配置过程中可能会遇到一些错误。例如,当使用Jedis连接Redis时,可能会遇到“ERR Unsupported CONFIG parameter: notify-keyspace-events”这样的错误。这个错误可以通过调用configSet方法来解决,例如JedisConnection.setConfig方法。 4. 另外,有些用户在安装Redis系统服务时可能会遇到错误,例如"HandleServiceCommands: system error caught. error code=1073, message = CreateS"。关于这个错误的具体解决方案可能因情况而异,但你可以尝试使用管理员权限运行命令提示符,并重新运行安装命令。 综上所述,这些是配置Redis 3.2.1在Windows上的一些常见步骤和解决方法。希望这些信息对你有帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Redis3.2在windows下的配置](https://blog.csdn.net/zhengun/article/details/84922827)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

人在西北刚上线

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值