Redis-浅谈redis.conf配置文件

Redis.conf

Redis.conf是Redis的配置文件,它包含了一系列用于配置Redis服务器行为和功能的选项。

以下是Redis.conf中常见的一些选项配置:

  • bind: 指定Redis服务器监听的IP地址,默认为127.0.0.1,表示只能本地访问,可以改为0.0.0.0以允许来自任意IP地址的访问。

  • port: 指定Redis服务器监听的端口号,默认为6379。

  • timeout: 指定客户端连接到Redis服务器的超时时间,默认为0,表示无限制。

  • requirepass: 设置连接Redis服务器所需的密码,默认为空,即不需要密码。

  • databases: 指定Redis服务器中可以创建的数据库数量,默认为16个。

  • maxclients: 指定Redis服务器同时连接的最大客户端数量,默认为10000个。

  • maxmemory: 指定Redis服务器可以使用的最大内存数量,默认为0,表示不限制。

  • logfile: 指定Redis服务器的日志文件路径,默认为空,即不输出日志。

  • save: 指定Redis服务器进行持久化的条件,默认为三个条件都满足时进行持久化:900秒内进行了1次写操作、300秒内进行了10次写操作、60秒内进行了10000次写操作。

  • rdbcompression: 指定Redis服务器在进行RDB持久化时是否压缩数据,默认为yes。

  • appendonly: 指定是否开启AOF持久化,默认为no,可以改为yes。

  • appendfsync: 指定AOF持久化的方式,默认为everysec,表示每秒钟同步一次。

  • requirepass: 指定连接Redis服务器所需的密码,默认为空,表示不需要密码。

这些只是Redis.conf中的一部分选项,实际上还有很多其他选项可以进行配置。通过修改Redis.conf,可以根据实际需求对Redis服务器进行定制化的配置。

1.容量单位不区分大小写,G和GB有区别

2.可以使用 include 组合多个配置问题

3.网络配置

shell 复制代码
#ip绑定
bind 127.0.0.1
# Protected mode is a layer of security protection, in order to avoid that# Redis instances left open on the internet are accessed and exploited.
# When protected mode is on and if:
# 1) The server is not binding explicitly to a set of addresses using the"bind" directive.
# 2) No password is configured.
#
# The server only accepts connections from clients connecting from the# IPv4 and IPv6 loopback addresses 127.0,0,1 and ::1,and from Unix domain
# sockets.
# By default protected mode is enabled. You should disable it only if# you are sure you want clients from other hosts to connect to Redis# even if no authentication is configured, nor a specific set of interfaces# are explicitly listed using the"bind" directive.
#保护模式 默认开启
protected-mode yes
# Accept connections on the specified port,default is 6379 (IANA #815344)# If port @ isspecified Redis will not listen on a TCP socket.
#端口
port 6379

4.日志输出级别

shell 复制代码
daemonize yes  #以守护进程的方式运行,默认是 no,我们需要自己开启为yes!
pidfile /var/run/redis_6379.pid # 如果以后台的方式运行,我们就需要指定一个 pid 文件!
# 日志
# Specify the server verbosity Teve1
# This can be one of:
# debug (a lot of information, useful for development/testing)
# verbose (many rarely useful info, but not a mess like the debug level)
# notice (moderately verbose, what you want in production probably) 生产环境
# warning (only very important / critical messages are logged)
loglevel notice
  1. 日志输出文件
shell 复制代码
logleve1 notice
logfile"" # 日志的文件位置名
databases 16 # 数据库的数量,默认是 16 个数据库
always-show-logo yes # 是否总是显示LOGO

6.持久化规则 (RDB)

由于Redis是基于内存的数据库,需要将数据由内存持久化到文件中

  • AOF
shell 复制代码
#持久化规则,持久化到文件 .rdb .aof
# 如果了900秒内 至少1个key进行了修改,就进行持久化
save 900 1
#300秒内 10个key进行了修改
save 300 10
save 60 10000
  • RDB文件相关
shell 复制代码
#持久化错误是否继续工作
stop-writes-on-bgsave-error yes
#Compress string objects using LZF when dump .rdb databases?
#For default that's set to 'yes' as it's almost always a win.
#If you want to save some CPU in the saving child set it to 'no' but# the dataset will likely be bigger if you have compressible values or keys.

#是否压缩.rdb文件
rdbcompression yes
#Since version 5 of RDB a CRC64 checksum is placed at the end of the file.# This makes the format more resistant to corruption but there is a performance# hit to pay (around 10%) when saving and loading RDB files, so you can disable it
#for maximum performances.
#RDB files created with checksum disabled have a checksum of zero that will
#tell the Loading code to skip the check.
#校验校rdb文件
rdbchecksum yes
#The filename where to dump the DB
dbfilename dump.rdb
shell 复制代码
# 如果900s内,如果至少有一个1 key进行了修改,我们及进行持久化操作
save 900 1
# 如果300s内,如果至少10 key进行了修改,我们及进行持久化操作
save 300 10
# 如果60s内,如果至少10000 key进行了修改,我们及进行持久化操作
save 60 10000
# 我们之后学习持久化,会自己定义这个测试!
# 持久化如果出错,是否还需要继续工作!
stop-writes-on-bgsave-error yes
rdbcompression yes  #是否压缩 rdb 文件,需要消耗一些cpu资源!
rdbchecksum yes  #保存rdb文件的时候,进行错误的检查校验!
dir ./ #rdb 文件保存的目录!

7.主从复制

replication

8.Security模块中进行密码设置

9.客户端连接相关

shell 复制代码
maxclients 10000 #设置能连接上redis的最大客户端的数量
maxmemory <bytes> # redis 配置最大的内存容量
maxmemory-policy noeviction # 内存到达上限之后的处理策略
1、volatile-lru: 只对设置了过期时间的key进行LRu(默认值)
2、allkeys-lru: 删除lru算法的key
3、volatile-random: 随机删除即将过期key
4、allkeys-random: 随机删除
5、volatile-tt1 :删除即将过期的
6、noeviction : 永不过期,返回错误
maxclients 10000  最大客户端数量
maxmemory <bytes> 最大内存限制
maxmemory-policy noeviction # 内存达到限制值的处理策略

redis 中的默认 的过期策略是 volatile-lru

设置方式

config set maxmemory-policy volatile-lru 

10.AOF相关部分

shell 复制代码
appendonly no  # 默认是不开启aof模式的,默认是使用rdb方式持久化的,在大部分所有的情况下,rdb完全够用!
appendfilename "appendonly.aof"  # 持久化的文件的名字
#appendfsync always  # 每次修改都会 sync。消耗性能
appendfsync everysec  # 每秒执行一次 sync,可能会丢失这1s的数据!
# appendfsync no # 不执行 sync,这个时候操作系统自己同步数据,速度最快!
shell 复制代码
appendonly no # 默认不开启 aof 使用rdb持久化
# The name of the append only file (default: "appendonty.aof")	
appendfilename"appendonly.aof"
shell 复制代码
# appendfsync always 每次修改进行同步
appendfsync everysec # 每秒执行一次同步
# appendfsync no 不进行同步 由操作系统进行同步 速度最快

Redis-浅谈redis.conf配置文件 到此完结,笔者归纳、创作不易,大佬们给个3连再起飞吧

相关推荐
水月梦镜花6 小时前
redis:list列表命令和内部编码
数据库·redis·list
掘金-我是哪吒8 小时前
微服务mysql,redis,elasticsearch, kibana,cassandra,mongodb, kafka
redis·mysql·mongodb·elasticsearch·微服务
ketil2710 小时前
Ubuntu 安装 redis
redis
王佑辉11 小时前
【redis】redis缓存和数据库保证一致性的方案
redis·面试
Karoku06612 小时前
【企业级分布式系统】Zabbix监控系统与部署安装
运维·服务器·数据库·redis·mysql·zabbix
gorgor在码农12 小时前
Redis 热key总结
java·redis·热key
想进大厂的小王12 小时前
项目架构介绍以及Spring cloud、redis、mq 等组件的基本认识
redis·分布式·后端·spring cloud·微服务·架构
Java 第一深情12 小时前
高性能分布式缓存Redis-数据管理与性能提升之道
redis·分布式·缓存
minihuabei17 小时前
linux centos 安装redis
linux·redis·centos
monkey_meng19 小时前
【Rust中多线程同步机制】
开发语言·redis·后端·rust