Redis 运维规范_运维管理规范

梦莱2年前技术文章720

三、运维管理规范

1、密码认证

云上 Redis 的权限控制:账号管理+白名单设置+阿里云子账号权限。对于线下 Redis 可以通过设置密码和 bind 参数文件控制访问。

2、合理设置备份策略

Redis 支持 RDB 和 AOF 两个备份策略。可以通过合理设置备份策略以较小的性能开销保证数据可靠性和性能。

3、避免 DB 重用

避免多个应用使用同一个 Redis 实例,尤其需要避免将同一 Redis 实例同时用作高速缓存和内存数据库业务。带来的影响例如针对某个业务淘汰策略设置、产生的慢请求或执行 FLUSHDB 命令影响将扩散至其他业务。

4、设置合理的过期淘汰策略

云数据库 Redis 默认逐出策略为 volatile-lru ,即内存满后只从设置失效(expire set)的 Key 中选择最近最少使用的 Key 进行删除。

线下 Redis 默认逐出策略为 noeviction ,即内存满后不会剔除任何数据,拒绝所有写入操作并返回客户端错误信息"(error) OOM command not allowed whenused memory",此时 Redis 只响应读操作;

建议按照业务需求合理设置 key 的淘汰策略。

当 Redis 作为缓存使用的时候,推荐使用 allkeys-lru 淘汰策略。该策略会将使用频率最低的 Key 淘汰。默认情况下,使用频率最低则后期命中的概率也最低,所以将其淘汰

当 Redis 作为半缓存半持久化使用时,可以使用 volatile-lru。但因为 Redis 本身不建议保存持久化数据,所以只作为备选方案。

5、合理配置连接池

适当使用长连接操作 Redis。频繁的短连接会导致 Redis耗费大量时间在连接的创建和断开上,并且TCP三次握手和四次挥手也会增加访问延迟。在使用长连接时需要注意设置合理的参数,连接数不能过多,长时间不操作 Redis 时要有释放连接资源的机制

6、增加熔断功能

对于高并发场景,建议客户端添加熔断逻辑功能,例如:netflix、hystrix。Redis 客户端的熔断器实时检测集群节点,当某一个 Redis 节点出现异常,便不再请求有异常的 Redis 节点,从而避免单个节点的故障导致整体系统的雪崩

相关文章

MySQL 函数触发隐式转换应对策略

前言MySQL 中,当 SQL 索引字段使用了函数的话,会出现隐式转换的问题,导致索引失效,从而导致 SQL 执行效率变慢。本篇文章介绍 MySQL 不同版本此类问题的应对策略。1. 环境介绍以下是本...

dolphinscheduler部署-FAQ

dolphinscheduler部署-FAQ

如果是cdh集群会遇到一个问题5678端口被占用这是因为cdh的agent用了5678那我们改下配置文件文件:/opt/apache-dolphinscheduler-3.1.8-bin/st...

hbase开启thrift进程(ThriftServer服务)

hbase开启thrift进程(ThriftServer服务)

简介:Hbase是目前比较火的列存储数据库,由于Hbase是用Java写的,因此它原生地提供了Java接口,对非Java程序人员,它提供了thrift接口服务器。1.启动thrift-server要使...

Redis 命令行 redis-cli 介绍

前言redis-cli 是 Redis 自带的命令行工具,是运维和开发人员常用的工具,本篇文章将介绍它的使用技巧和一些有趣的功能。1. 连接 Redis 服务redis-cli 默认连接的是 127....

MySQL运维实战(4.1) MySQL表存储引擎

MySQL表的特点和其他数据库如Oracle、SQL Server相比,mysql有一些特点:MySQL使用插件式存储引擎,同一个数据库中的表可以使用不同的存储引擎。存储引擎决定了表的物理存储格式。表...

MySQL DBA 常用工具 SQL

MySQL DBA 常用工具 SQL

【前言】本篇文章介绍一些 MySQL 管理的实用语句及适用的场景。SQL 基于 MySQL 5.7 版本。1. 长事务事务长时间未提交,即使状态为Sleep也可能造成一些锁等待的问题,使用该查询可以查...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。