Redis.config 配置 深度剖析

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
日志服务 SLS,月写入数据量 50GB 1个月
简介: Redis.config 配置 深度剖析

redis 重要的配置

打开  redis目录中 redis.config配置

1. 单位

d5171f93e97e459bb5f691a95a72297d.png

配置文件对 大小写不敏感

2.包含

58de5714cf7a4324a8497d479b3e0b10.png

好比string improt标签把其他东西导到这里   ,通俗  就是把多个配置文件 配置过来


3.网络


 bind 127.0.0.1     # 本机地址 目前只能本机访问 。如果想远程 可以写一个 " * " 号通配  或指定ip


 protected-mode  yes   # 是否受保护的   一般都是开启的  保证安全性


 port  6379     #  端口号 修改端口可以在这改   比如集群肯定是需要修改的


4.通用


daemonize  yes   #已守护进程的方式运行, 默认是 no , 需要自己开启为 yes ,否则 一退出 进程就


结束了


# 日志
# Specify the server verbosity level.
# 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
logfile ""   #日志的文件位置名  默认为空不输出
databases 16   #  默认的数据库 数量   16个 
always - show - logo  yes   # 是否显示logo     就是我们启动redis 的logo  
—————


5.快照  配置rdb

持久化, 在规定时间内 , 执行多少次操作后, 则会持久化到文件 .rdb .aof

redis 是内存数据库 , 不持久化 数据就会丢 , 断电及失 !


save 900 1        #  如果900s内 , 如果 至少有1个key 进行了修改, 就进行持久化操作
save 300 10      #  如果300s内 , 如果 至少有10个key 进行了修改, 就进行持久化操作
save 60 10000  #  如果60s内 , 如果 至少有10000个key 进行了修改, 就进行持久化操作
# 以上是默认配置    我们可以根据自己需求 以及并发量 去设置 
# 如果想使用rde规则可以用#号注释  , rdb aof  都可以单独使用  也可以组合使用
stop-writes-on-bgsave-error yes  # 持久化如果出错 , 是否还需继续工作!
rdbcompression yes   #   是否压缩 rdb  文件, 需要消耗一些cpu 资源 !
rdbchecksum yes      # 保存 rdb 文件的时候 , 进行错误的检查校验!
dir ./   # rdb 文件保存的目录!

6. REPLICATION   主从复制  

7. SECURITY  安全  


057f6e185ee8448b9e5b5af96477007a.png

默认是没有密码!




这个时候我们 登录 就需要 密码了   。更多时候 我们是用命令去设置的!


rdeis 通过命令设置密码:  


1. 查看是否有密码 config get requirepass  


2. 设置密码 config set requirepass "需要设置的密码"  


3. 设置密码后我们直接ping 是ping 不通的 会报: (error)NOAUTH Authentication required. 需要输入密码认证


4. auth 123456   登录认证


018b9bfbe6f242b984006768f45315f8.png


8. LIMITS 限制  


maxclients 10000   #  设置能连接上redis最大客户端连接数 默认10000
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-ttl : 删除即将过期的

6. noeviction : 永久不过期, 返回错误


APPEND ONLY MODE   配置aof

appendonly no  # 默认是不开启的, 默认是使用 rdb方式持久化 , 大部分情况下rdb 完全够用!
appendfilename "appendonly.aof" # 持久化的文件名字
# appendfsync always    #  每次修改都会  sync 。 消耗性能
appendfsync everysec     #  每秒执行一次 sync 。可能会丢失这1s的数据!
# appendfsync no        #不执行 sync 。这个时候操作系统自己同步数据, 速度最快 !

解析 aof  


Redis默认情况是不开启AOF的。重启时再重新执行AOF文件中的命令来恢复数据。它主要解决数据持久化的实时性问题。


AOF是执行完命令后才记录日志的。为什么不先记录日志再执行命令呢?这是因为Redis在向AOF记录日志时,不会先对这些命令进行语法检查,如果先记录日志再执行命令,日志中可能记录了错误的命令,Redis使用日志回复数据时,可能会出错。


正是因为执行完命令后才记录日志,所以不会阻塞当前的写操作。但是会存在两个风险:


更执行完命令还没记录日志时,宕机了会导致数据丢失


AOF不会阻塞当前命令,但是可能会阻塞下一个操作。


这两个风险最好的解决方案是折中妙用AOF机制的三种写回策略 appendfsync:


always,同步写回,每个子命令执行完,都立即将日志写回磁盘。


everysec,每个命令执行完,只是先把日志写到AOF内存缓冲区,每隔一秒同步到磁盘。


no:只是先把日志写到AOF内存缓冲区,有操作系统去决定何时写入磁盘。


always同步写回,可以基本保证数据不丢失,no策略则性能高但是数据可能会丢失,一般可以考虑折中选择everysec。


RDB 和AOF 如何选择?


如果数据不能丢失,RDB和AOF混用


如果只作为缓存使用,可以承受几分钟的数据丢失的话,可以只使用RDB。


如果只使用AOF,优先使用everysec的写回策略。


RDB 的优劣势


优势:


 1.RDB是一个非常紧凑(compact)的文件,它保存了redis 在某个时间点上的数据集,这种文件非常适合用于进行备份和灾难恢复。


 2.生成RDB文件的时候,redis主进程会fork()一个子进程来处理所有保存工作,主进程不需要进行任何磁盘IO操作。


 3.RDB 在恢复大数据集时的速度比AOF的恢复速度要快。


劣势:


1、RDB方式数据没办法做到实时持久化/秒级持久化。因为bgsave每次运行都要执行fork操作创建子进程,频繁执行成本过高


2、在一定间隔时间做一次备份,所以如果redis意外down掉的话,就会丢失最后一次快照之后的所有修改(数据有丢失)。


AOF 的优劣势


优点:


1、AOF 持久化的方法提供了多种的同步频率,即使使用默认的同步频率每秒同步一次,Redis 最多也就丢失 1 秒的数据而已。


缺点:


1、对于具有相同数据的的Redis,AOF 文件通常会比 RDB 文件体积更大(RDB存的是数据快照)。


2、虽然 AOF 提供了多种同步的频率,默认情况下,每秒同步一次的频率也具有较高的性能。在高并发的情况下,RDB 比 AOF 具好更好的性能保证。


目录
相关文章
|
11天前
|
缓存 负载均衡 监控
135_负载均衡:Redis缓存 - 提高缓存命中率的配置与最佳实践
在现代大型语言模型(LLM)部署架构中,缓存系统扮演着至关重要的角色。随着LLM应用规模的不断扩大和用户需求的持续增长,如何构建高效、可靠的缓存架构成为系统性能优化的核心挑战。Redis作为业界领先的内存数据库,因其高性能、丰富的数据结构和灵活的配置选项,已成为LLM部署中首选的缓存解决方案。
|
3月前
|
NoSQL 安全 Linux
设置Redis在CentOS7上的自启动配置
这些步骤总结了在CentOS 7系统上设置Redis服务自启动的过程。这些命令提供了一个直接且明了的方式,确保Redis作为关键组件在系统启动时能自动运行,保障了依赖于Redis服务的应用的稳定性和可用性。
397 9
|
7月前
|
NoSQL Ubuntu 网络安全
在 Ubuntu 20.04 上安装和配置 Redis
在 Ubuntu 20.04 上安装和配置 Redis 的步骤如下:首先更新系统包,然后通过 `apt` 安装 Redis。安装后,启用并启动 Redis 服务,检查其运行状态。可选配置包括修改绑定 IP、端口等,并确保防火墙设置允许外部访问。最后,使用 `redis-cli` 测试 Redis 功能,如设置和获取键值对。
291 1
|
算法 安全 Java
微服务(四)-config配置中心的配置加解密
微服务(四)-config配置中心的配置加解密
|
9月前
|
存储 监控 NoSQL
NoSQL与Redis配置与优化
通过合理配置和优化Redis,可以显著提高其性能和可靠性。选择合适的数据结构、优化内存使用、合理设置持久化策略、使用Pipeline批量执行命令、以及采用分布式集群方案,都是提升Redis性能的重要手段。同时,定期监控和维护Redis实例,及时调整配置,能够确保系统的稳定运行。希望本文对您在Redis的配置与优化方面有所帮助。
163 23
|
9月前
|
存储 监控 NoSQL
NoSQL与Redis配置与优化
通过合理配置和优化Redis,可以显著提高其性能和可靠性。选择合适的数据结构、优化内存使用、合理设置持久化策略、使用Pipeline批量执行命令、以及采用分布式集群方案,都是提升Redis性能的重要手段。
167 7
|
11月前
|
存储 SQL 关系型数据库
2024Mysql And Redis基础与进阶操作系列(1)作者——LJS[含MySQL的下载、安装、配置详解步骤及报错对应解决方法]
Mysql And Redis基础与进阶操作系列(1)之[MySQL的下载、安装、配置详解步骤及报错对应解决方法]
|
JavaScript
Vue3基础(19)___vite.config.js中配置路径别名
本文介绍了如何在Vue 3的Vite配置文件`vite.config.js`中设置路径别名,以及如何在页面中使用这些别名导入模块。
547 0
Vue3基础(19)___vite.config.js中配置路径别名
|
12月前
|
存储 NoSQL Redis
Redis 配置
10月更文挑战第14天
190 1
|
移动开发 JavaScript 前端开发
UniApp H5 跨域代理配置并使用(配置manifest.json、vue.config.js)
这篇文章介绍了在UniApp H5项目中处理跨域问题的两种方法:通过修改manifest.json文件配置h5设置,或在项目根目录创建vue.config.js文件进行代理配置,并提供了具体的配置代码示例。
UniApp H5 跨域代理配置并使用(配置manifest.json、vue.config.js)