【Redis】Redis配置文件详解(很全)
文章目录
- Redis配置文件
- Units
- Network 网络相关
- GENERAL 通用配置
- SNAPSHOTTING 快照相关
- SECURITY 安全相关
- CLIENTS 客户端配置
- MEMORY MANAGEMENT 内存管理
- LAZY FREEING 懒惰删除
- THREADED I/O
- KERNEL OOM CONTROL 设置OOM时终止哪些进程
- APPEND ONLY MODE AOF持久化配置
- LUA SCRIPTING-LUA脚本相关
- REDIS CLUSTER 集群配置
- CLUSTER DOCKER/NAT support
- SLOW LOG 慢日志
- LATENCY MONITOR 延迟监控
- EVENT NOTIFICATION 事件通知
- GOPHER SERVER Gopher协议
- ADVANCED CONFIG 高级设置
- ACTIVE DEFRAGMENTATION 碎片整理
Redis配置文件
redis版本: 6.0.16
Units
配置数据单位换算关系
################## 该部分用于指定存储单位的大小换算关系,不区分大小写,只支持bytes,不支持bits # 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.
包含其它配置文件的信息 include path
对于公共部分配置,可以按以下方式配置引入
# include /path/to/local.conf # include /path/to/other.conf
Network 网络相关
bind IP1 [IP2 …]
这项配置绑定的IP并不是远程访问的客户端的IP地址,而是本机的IP地址。
# bind 192.168.1.100 10.0.0.1 # bind 127.0.0.1 ::1 bind 127.0.0.1
本机的IP地址是和网卡(network interfaces)绑定在一起的,配置这项后,Redis只会接收来自指定网卡的数据包。比如我的主机有以下网卡:
root@VM-4-5-ubuntu:~# ifconfig eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 10.0.4.5 netmask 255.255.252.0 broadcast 10.0.7.255inet6 fe80::5054:ff:fe0b:843 prefixlen 64 scopeid 0x20<link>ether 52:54:00:0b:08:43 txqueuelen 1000 (Ethernet)RX packets 283943 bytes 28027507 (28.0 MB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 280878 bytes 43033240 (43.0 MB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536inet 127.0.0.1 netmask 255.0.0.0inet6 ::1 prefixlen 128 scopeid 0x10<host>loop txqueuelen 1000 (Local Loopback)RX packets 35168 bytes 2582220 (2.5 MB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 35168 bytes 2582220 (2.5 MB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
如果我想要让Redis可以远程连接的话,就需要让Redis监听
eht0
这块网卡,也就是要加上配置bind 127.0.0.1 10.0.4.5
,这样既可以本地访问,也能够远程访问。(主要bind
只能有一行配置,如果有多个网卡要监听,就配置多个ip
,用空格隔开,否者只有配置的最后一个bind
生效)。保护模式 protected-mode
从注释信息就可以看到,如果
protected-mode
是yes
的话,如果没有指定bind
或者没有指定密码,那么只能本地访问。protected-mode yes
端口号 port
配置Redis监听的端口号,默认6379。
# Accept connections on the specified port, default is 6379 (IANA #815344). # If port 0 is specified Redis will not listen on a TCP socket. port 6379
TCP半连接队列长度配置 tcp-backlog
在进行TCP/IP连接时,内核会维护两个队列
syns queue
用于保存已收到sync
但没有接收到ack
的TCP半连接请求。由/proc/sys/net/ipv4/tcp_max_syn_backlog
指定,我的系统(Ubuntu20.04)上是1024。accept queue
,用于保存已经建立的连接,也就是全连接。由/proc/sys/net/core/somaxconn
指定。
根据配置里的注释,需要同时提高
somaxconn
和tcp_max_syn_backlog
的值来确保生效。tcp-backlog 511
**是否超时无操作关闭连接 timeout **
客户端经过多少时间(单位秒)没有操作就关闭连接,0代表永不关闭。
timeout 0
TCP连接保活策略 tcp-keepalive
TCP连接保活策略,可以通过tcp-keepalive配置项来进行设置,单位为秒,假如设置为60秒,则server端会每60秒向连接空闲的客户端发起一次ACK请求,以检查客户端是否已经挂掉,对于无响应的客户端则会关闭其连接。如果设置为0,则不会进行保活检测。
tcp-keepalive 300
GENERAL 通用配置
**启动方式 daemonize **
是否以守护(后台)进程的方式启动,默认no。
daemonize yes
进程pid文件 pidfile
redis启动后会把pid写入到pidfile指定的文件中。
pidfile /var/run/redis_6379.pid
日志相关 loglevel logfile
loglevel
用于配置日志打印机别,默认notice
:debug
:能设置的最高的日志级别,打印所有信息,包括debug信息。verbose
:打印除了debug
日志之外的所有日志。notice
:打印除了debug
和verbose
级别的所有日志。warning
:仅打印非常重要的信息。
loglevel noticelogfile ""
指定数据库的数量 databse
redis默认有16个数据库,编号从0开始。
databases 16
启动是否显示logo
always-show-logo yes
SNAPSHOTTING 快照相关
SECURITY 安全相关
################################## SECURITY #################################### Warning: since Redis is pretty fast, an outside user can try up to
# 1 million passwords per second against a modern box. This means that you
# should use very strong passwords, otherwise they will be very easy to break.
# Note that because the password is really a shared secret between the client
# and the server, and should not be memorized by any human, the password
# can be easily a long string from /dev/urandom or whatever, so by using a
# long and unguessable password no brute force attack will be possible.
大致意思就是redis很快,所以被破解密码时,性能也很好,如果你的密码太渣渣了,那么可能很快就被破解了,因此尽量使用长且不容易被猜到的密码作为redis的访问密码。
配置ACL
ACL
:访问控制列表。有两种方法配置ACL:
- 在命令行通过ACL命令进行配置
- 在Redis配置文件中开始,可以直接在
redis.conf
中配置,也可以通过外部aclfile
配置。aclfile path
。
配置语法:
user <username> ... acl rules ...
,例如user worker +@list +@connection ~jobs:* on >ffa9203c493aa99
redis默认有一个
default
用户。如果default
具有nopass
规则(就是说没有配置密码),那么新连接将立即作为default
用户登录,无需通过AUTH
命令提供任何密码。否则,连接会在未验证状态下启动,并需要AUTH
验证才能开始工作。
描述用户可以做的操作的ACL规则如下:
- 启用或禁用用户(已经建立的连接不会生效)
on
启用用户,该用户可以验证身份登陆。off
禁用用户,该用户不允许验证身份登陆。
- 允许/禁止用户执行某些命令
+<command>
允许用户执行command
指示的命令✅-<command>
禁止用户执行command
指示的命令【Redis】Redis配置文件详解(很全)相关推荐
- Redis 服务配置 redis.conf 配置文件详解
一.Redis的安装 想要使用Redis,肯定是先要在服务器上进行安装:对于安装在本篇文章中就不讲解,不会的可以看我另一篇文章:传送门 二.Redis版本:redis-server --version ...
- redis.conf配置文件详解
基本配置 daemonize no #是否以后台进程启动 databases 16 #创建database的数量(默认选中的是database 0)save 900 1 #刷新快照到硬盘中,必须满足 ...
- redis mysql配置文件详解_mysql配置文件my.cnf详解
basedir = path 使用给定目录作为根目录(安装目录). character-sets-dir = path 给出存放着字符集的目录. datadir = path 从给定目录读取数据库文件 ...
- Redis之——配置文件详解
转载请注明出处:http://blog.csdn.net/l1028386804/article/details/51869081 不多说,直接上解析 daemonize yes #是否以后台进程运行 ...
- redis.conf配置文件详解-0511-v1.0张雅慧
一.基本配置 daemonize no 是否以后台进程启动 databases 16 创建database的数量(默认选中的是database 0) save 900 1 #刷新快照到硬盘中,必须满足 ...
- Redis(十三)-Redis的配置文件详解
您好,我是码农飞哥,感谢您阅读本文,欢迎一键三连哦.
- Asp.net中GridView使用详解(很全,很经典 转来的)
GridView无代码分页排序 GridView选中,编辑,取消,删除 GridView正反双向排序 GridView和下拉菜单DropDownList结合 GridView和CheckBox结合 鼠 ...
- cdn详解 很全面的
好记性不如烂笔头o(^▽^)o 此文主要作为初步接触CDN的学习和了解,查阅了一些资料,并按照自己的阅读习惯进行语言整理.分段和整合,参考资料见文末1,2.感谢文章贡献者,深入浅出. CDN CDN ...
- Redis配置文件redis.conf文件详解
Redis配置文件redis.conf文件详解 唠嗑 这里面的意思只要看得差不多其实就是已经对redis有熟悉的感觉,就比如 推塔已经推到别人家的大门~~~~~~~~废话不多说直接开始了 知道大家都不 ...
- Redis入门(2):五大数据类型(key,string,list,set,sortset)将其实战,配置文件详解,发布与订阅
五大数据类型 redis常见数据类型操作命令:http://www.redis.cn/commands.html Redis键(key) 命令 描述 keys * 查看当前库所有key (匹配:key ...
最新文章
- 从零开始一起学习SLAM | 为啥需要李群与李代数?
- MVP 2008全球峰会可预订宾馆,寻室友
- 设置Eclipse中的tab键为4个空格的完整方法
- YbSoftwareFactory 代码生成插件【二十二】:CMS基础功能的实现
- java面试题2(java基础)
- Linux kernel 3.10内核源码分析--进程上下文切换
- Windows Phone 7“芒果”更新带来浏览器重大升级:IE Mobile 9
- xman的思维导图快捷键_这个良心好用的思维导图软件,居然不用氪金充钱
- 看OpenCV如何在python中实现图像检测!
- 六步创建TCP服务端
- html5难点,学习HTML5的难点是什么?
- C#运算符重载(操作符重载)
- Zeppelin 可视化操作spark sql
- 第 37 章 ACOS - CLI
- 元宵快乐:看SQL大师们用SQL绘制的团圆
- 台式电脑连接蓝牙耳机_怎样知道电脑(台式机)有没有蓝牙?
- deferred initcalls与模块化
- 连范例都不跑,大哥你怎么知道你的代码正确?
- Tomcat历史版本下载
- 前端数据可视化插件(四)关系图
热门文章
- Redis 服务配置 redis.conf 配置文件详解