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

梦莱1年前技术文章415

三、运维管理规范

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 节点,从而避免单个节点的故障导致整体系统的雪崩

相关文章

Kubernetes 网络插件

Kubernetes 自身并不提供网络解决方案,允许托管使用第三方的网络解决方案。flannelcalicocanelkube-router......各种 CNI 插件的解决方案: 虚拟网桥(bri...

Redis Sentinel与Cluster安装部署(三)

4.3redis-cluster-resharding重新分配槽1、查看当前集群节点状态信息 # redis-cli --cluster check 172.32.1.59:7000 -a dt20...

K8s数据持久化

K8s数据持久化

一、为什么需要持久化为了解决pod里面的容器被删除后数据不丢失,则引入了存储类型,类似于docker中的数据卷。在kubernetes集群中,其是支持多种存储类型,包括但不限于emptyDir,Hos...

大数据之数据采集组件选型

大数据之数据采集组件选型

按数据的源头、实际上也是对应的数据采集方式,分别进行分析与技术推荐,数据从源头基本分为以下三大类1、Web页面/移动App/MES/IoT/系统生产: 这些数据是被动接收。建议可采用Apache Ni...

Haproxy配置负载均衡

yum安装haproxy如果后面要配置高可用,和keepalived配合使用更佳。yum install haproxy修改配置文件设置impala和ldap的负载均衡(Impala Daemon分布...

MySQL运维实战之备份和恢复(8.8)恢复单表

xtrabackup支持单表恢复。如果一个表使用了独立表空间(innodb_file_per_table=1),就可以单独恢复这个表。1、Prepareprepare时带上参数--export,xtr...

发表评论    

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