redis基础二(redis.conf配置文件)

本文详细介绍了Redis配置文件redis.conf中的重要参数,包括网络监听、内存管理、安全性等方面,强调了内存管理和安全设置在生产环境中的重要性,如maxmemory策略和requirepass配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

redis配置文件介绍

 

4.1 INCLUDES  包含配置文件

redis也可以像spring的xml文件一样,引入其他的配置文件(前一个配置文件的值被后面配置文件的值覆盖)

#引入其他配置文件的方式如下:

#include /path/to/local.conf

#include /path/to/other.conf

4.2 MODULES  

加载自定义模块(redis4.0以后的特性)

#服务端启动时加载自定义模块方式如下:

#loadmodule /path/to/my_module.so

#loadmodule /path/to/other_module.so

4.3 NETWORK  网络监听

1)、redis默认是只监听本地ip的,也可以不指定监听的网络地址,那就是对所有网络可访问,是很危险的,官方强烈建议

#要绑定监听的网络地址。

bind 127.0.0.1

2)、默认端口是6379

port 6379

#如果设为0,redis将不在socket 上监听任何客户端连接

3)、TCP listen() backlog默认情况下:

tcp-backlog 511

#TCP监听的最大容纳数量,在高并发的环境下,你需要把这个值调高以避免客户端连接缓慢的问题。Linux 内核会把这个值缩小成 /proc/sys/net/core/somaxconn对应的值,要提升并发量需要修改这两个值才能达到目的

4)、客户端空闲多久关闭链接.也就是超时时间默认是0秒(0表示永不关闭):

timeout 0

5)、TCP keepalive

#redis是单一长链接的,默认长链接保持时间是300s

tcp-keepalive 300

#单位是秒,表示将周期性的使用SO_KEEPALIVE检测客户端是否还处于健康状态,避免服务器一直阻塞,官方给出的建议值是300s,如果设置为0,则不会周期性的检测

 

4.4 GENERAL

 

1)、是否守护进程,redis默认启动的服务不是守护进程:

daemonize no

#当redis作为守护进程运行的时候,它会写一个 pid 到 /var/run/redis.pid 文件里面

2)、supervised no

#可以通过upstart和systemd管理Redis守护进程

#选项:

  #supervised no - 没有监督互动

  #supervised upstart - 通过将Redis置于SIGSTOP模式来启动信号

  #supervised systemd - signal systemd将READY = 1写入$ NOTIFY_SOCKET

  #supervised auto - 检测upstart或systemd方法基于 UPSTART_JOB或NOTIFY_SOCKET环境变量

supervised no

3)、 pidfile文件

#redis如启动的是守护进程服务的话,默认会创建一个redis.pid文件到 "/var/run/redis.pid"文件夹下,

#当redis不是以守护进程启动的话,conf文件里也给了一个默认的输出pid文件的路径,并且官方也是强烈建议

#去创建一个这么个文件的:

pidfile /var/run/redis_6379.pid

4)、loglevel 日志级别

d#ebug

#verbose

#notice

#warning

#官方默认的是 notice级别:

loglevel notice

5)、logfile 日志文件路径

logfile "" 

6)、databases 数据库数

#redis默认是设置16个数据库的

databases 16

4.5 SECURITY 安全

设置redis的密码,默认是

 requirepass "";

 可以对应的修改密码;产线环境必须设置密码

在redis客户端使用输入面貌的命令是: auth    password

4.6 CLIENTS

#maxclients 10000  最大客户端链接数,默认1万;

修改的话也很简单啦,

maxclients 100  这样就把客户端的最大链接数限制在100;

4.7 MEMORY MANAGEMENT 内存管理(产线必须修改!!)

# maxmemory <bytes> 设置redis内存大小,

默认为0,表示"无限制",最终由OS物理内存大小决定(如果物理内存不足,有可能会使用swap)。此值尽量不要超过机器的物理内存尺寸,从性能和实施的角度考虑,可以为物理内存3/4。此配置需要和"maxmemory-policy"配合使用,当redis中内存数据达到maxmemory时,触发"清除策略"。在"内存不足"时,任何write操作(比如set,lpush等)都会触发"清除策略"的执行。在实际环境中,建议redis的所有物理机器的硬件配置保持一致(内存一致),同时确保master/slave中"maxmemory""policy"配置一致。

当内存满了的时候,如果还接收到set 命令,redis 将先尝试剔除设置过expire 信息的key,而不管该key 的过期时间还没有到达。在删除时,

将按照过期时间进行删除,最早将要被过期的key 将最先被删除。如果带有expire 信息的key 都删光了,内存还不够用,那么将返回错误。这样,redis 将不再接收写请求,只接收get 请求。maxmemory 的设置比较适合于把redis 当作于类似memcached的缓存来使用。

# maxmemory-policy noeviction  内存超限的默认策略是永不过期,

有以下几种方法可设置内存超限后的处理策略

# volatile-lru -> Evict using approximated LRU among the keys with an expire set.

#  -> Evict any key using approximated LRU.

# volatile-lfu -> Evict using approximated LFU among the keys with an expire set.

# allkeys-lfu -> Evict any key using approximated LFU.

# volatile-random -> Remove a random key among the ones 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 evict anything, just return an error on write operations.

 

注意一般这里需要修改为 :

maxmemory-policy volatile-lru 或者 maxmemory-policy allkeys-lru

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值