Redis配置文件详解


title: Redis配置文件详解
date: 2019-11-11 17:50:50
tags:

  • Redis

启动方式

1
2
复制代码 默认情况下,redis不是在后台运行的,如果需要在后台运行,把该项的值更改为yes
daemonize no

pid文件路径

1
2
复制代码当redis在后台运行的时候,Redis默认会把pid文件放在/var/run/redis.pid,你可以配置到其他地址。 当运行多个redis服务时,需要指定不同的pid文件和端口 
pidfile /var/run/redis.pid

指定接收地址

1
2
复制代码指定redis只接收来自于该IP地址的请求,如果不进行设置,那么将处理所有请求,
> bind 127.0.0.1

超时时间

1
复制代码> timeout 0

数据库数

1
复制代码> databases 16

保存数据到磁盘,格式如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
复制代码#
# save <seconds> <changes>
#
# 指出在多长时间内,有多少次更新操作,就将数据同步到数据文件rdb。
# 相当于条件触发抓取快照,这个可以多个条件配合
#
# 比如默认配置文件中的设置,就设置了三个条件
#
# save 900 1 900秒内至少有1个key被改变
# save 300 10 300秒内至少有300个key被改变
# save 60 10000 60秒内至少有10000个key被改变

save 900 1
save 300 10
save 60 10000

最大连接数

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

指定Redis最大内存限制

1
2
3
4
5
6
7
8
9
10
复制代码# 指定Redis最大内存限制,Redis在启动时会把数据加载到内存中,达到最大内存后,Redis会先尝试清除已到期或即将到期的Key
# Redis同时也会移除空的list对象
#
# 当此方法处理后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作
#
# 注意:Redis新的vm机制,会把Key存放内存,Value会存放在swap区
#
# maxmemory的设置比较适合于把redis当作于类似memcached的缓存来使用,而不适合当做一个真实的DB。
# 当把Redis当做一个真实的数据库使用的时候,内存使用将是一个很大的开销
# maxmemory <bytes>

当内存达到最大值的时候Redis会选择删除哪些数据?有五种方式可供选择

1
2
3
4
5
6
7
8
复制代码# volatile-lru -> 利用LRU算法移除设置过过期时间的key (LRU:最近使用 Least Recently Used )
# allkeys-lru -> 利用LRU算法移除任何key
# volatile-random -> 移除设置过过期时间的随机key
# allkeys->random -> remove a random key, any key
# volatile-ttl -> 移除即将过期的key(minor TTL)
# noeviction -> 不移除任何可以,只是返回一个写错误
#
# 注意:对于上面的策略,如果没有合适的key可以移除,当写的时候Redis会返回一个错误

密码

1
2
3
4
5
6
7
8
9
复制代码# 设置客户端连接后进行任何其他指定前需要使用的密码。
# 警告:因为redis速度相当快,所以在一台比较好的服务器下,一个外部的用户可以在一秒钟进行150K次的密码尝试,这意味着你需要指定非常非常强大的密码来防止暴力破解
#
# requirepass foobared

# 当master服务设置了密码保护时(用requirepass制定的密码)
# slav服务连接master的密码
#
# masterauth <master-password>

本文转载自: 掘金

开发者博客 – 和开发相关的 这里全都有

0%