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连再起飞吧

相关推荐
Ren_xixi10 小时前
redis和mysql的区别
数据库·redis·mysql
xo1988201112 小时前
鸿蒙人脸识别
redis·华为·harmonyos
初晴~12 小时前
【Redis分布式锁】高并发场景下秒杀业务的实现思路(集群模式)
java·数据库·redis·分布式·后端·spring·
Hello.Reader20 小时前
Redis热点数据管理全解析:从MySQL同步到高效缓存的完整解决方案
redis·mysql·缓存
C++忠实粉丝21 小时前
Redis 介绍和安装
数据库·redis·缓存
ClouGence1 天前
Redis 到 Redis 数据迁移同步
数据库·redis·缓存
苏三说技术1 天前
Redis 性能优化的18招
数据库·redis·性能优化
Tttian6221 天前
基于Pycharm与数据库的新闻管理系统(2)Redis
数据库·redis·pycharm
言之。1 天前
redis延迟队列
redis
hanbarger1 天前
nosql,Redis,minio,elasticsearch
数据库·redis·nosql