【Linux基础服务教程】Redis配置文件
上一期教程Redis的安装和基本使用
一、配置文件
配置文件路径:
/usr/local/redis/conf/redis.conf
1.加载子配置文件
# include /path/to/local.conf
# include /path/to/other.conf
2.加载模块
# loadmodule /path/to/my_module.so
# loadmodule /path/to/other_module.so
3.修改Redis
监听地址
# bind 192.168.1.100 10.0.0.1
# bind 127.0.0.1 ::1
bind 10.10.10.128
-h
指定登录地址
[root@master ~]# redis-cli -h 10.10.10.128
10.10.10.128:6379>
[root@master ~]# redis-cli -h 10.10.10.128 shutdown #如果修改了监听地址,关闭数据库的时候也要带上地址
4.修改Redis
监听端口
port 6379 #`redis`默认监听端口
port 8888
[root@master ~]# redis-cli -h 10.10.10.128 -p 8888
10.10.10.128:8888>
[root@master ~]# redis-cli -h 10.10.10.128 -p 8888 shutdown #如果修改了端口和地址,在结束和登录的时候都要加上新地址和端口
5.修改Redis
请求接收队列长度
tcp-backlog 511 #默认511很小
tcp-backlog 800 #建议800-10000
如果修改了这里的
默认
参数,实际上是不生效
的,虽然redis
生效了,但是需要修改一些系统的默认参数。
需要调整somaxconn
、tcp_max_syn_backlog
内核参数
somaxconn
: 系统层面,网卡接收请求的队列长度
tcp_max_syn_backlog
:系统层面,网卡接收TCP第一次握手的队列长度
A.临时修改内核参数
[root@localhost ~]# echo 1000 > /proc/sys/net/core/somaxconn
[root@localhost ~]# echo 1000 > /proc/sys/net/ipv4/tcp_max_syn_backlog
[root@localhost ~]#
[root@localhost ~]# cat /proc/sys/net/core/somaxconn
1000
[root@localhost ~]# cat /proc/sys/net/ipv4/tcp_max_syn_backlog
1000
B.永久修改内核参数
[root@localhost ~]# vim /etc/sysctl.conf
net.core.somaxconn = 1000
net.ipv4.tcp_max_syn_backlog = 1000
[root@localhost ~]# sysctl -p
net.core.somaxconn = 1000
net.ipv4.tcp_max_syn_backlog = 1000
查看所有参数
sysctl -a
6.设置客户端空闲的超时时间
timeout 30 #超过这个时间就自动断开
7.设置Redis
后台启动
daemonize yes
8.指定Redis
的PID
文件
pidfile /var/run/redis_6379.pid
9.错误日志
loglevel notice #默认notice等级
loglevel warning #避免资源浪费,修改至最高等级
10指定错误日志存放路径
logfile "" #默认为空,不存储日志
logfile "/var/log/redis_6379.log" #我们手动指定一个
11.默认库
databases 16 #默认16个库(0-15)
12.定义Redis
自动持久化的频率
save 900 1 #900秒存1次
save 300 10 #300秒存10次
save 60 10000 #60秒存10000次
13.指定rdb
数据文件存储位置
dbfilename dump.rdb #默认文件名
dir ./ #默认存在当前目录
dir /usr/local/redis/data #可以手动指定一个
14.启动aof
日志
appendonly no #`aof`日志默认是关闭的
appendonly yes
appendfilename "appendonly.aof
15.设置Redis
密码
requirepass redhat #需要手动指定密码
[root@master ~]# redis-cli -h 10.10.10.128
10.10.10.128:6379> set uid 1001
(error) NOAUTH Authentication required.
10.10.10.128:6379> auth redhat #设置密码后,需要手动输入密码,才可存储数据
OK
10.10.10.128:6379> set uid 1001
OK
[root@master ~]# redis-cli -h 10.10.10.128 -a redhat #或者在外面输入密码
10.10.10.128:6379> set uid1 1002
OK
16.设置Redis
最大并发连接
# maxclients 10000
17.设置Redis
最大存储策略
# maxmemory <bytes>
maxmemory 200M
maxmemory-policy noeviction
支持的策略详情:
noeviction
默认策略 内存空间不足时,添加新的数据会返回报错信息allkeys‐lru
内存不足时,redis
会按照LRU
(最近最少访问)算法清除缓存数据allkeys‐random
内存不足时,redis
会随机删除缓存数据volatile‐lru
内存不足时,redis
会在设置了过期时间的缓存数据
中,按照LRU
算法清除数据volatile‐random
内存不足
时,redis
会在设置了过期时间
的缓存数据中,随机
清除数据volatile‐ttl
内存不足时,redis
会在设置了过期时间的缓存数据中,优先清除过期时间较早
的数据allkeys-lfu
volatile-lfu
lfu
全称Least Frequently Used
算法根据数据的历史访问频率
来淘汰数据