Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1667600
  • 博文数量: 2253
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 22659
  • 用 户 组: 普通用户
  • 注册时间: 2020-11-26 14:30
个人简介

更多python、Linux、网络安全学习内容,可移步:www.oldboyedu.com或关注\"老男孩Linux\"公众号

文章分类

全部博文(2253)

文章存档

2024年(99)

2023年(643)

2022年(693)

2021年(734)

2020年(80)

我的朋友

分类: Python/Ruby

2021-10-21 15:27:35

  学Python找工作的时候,大家肯定都会遇到一些不知道如何回答的问题,比如关于Redis的问题。而且近期也有不少网友咨询小编这类问题,对此特整理了一篇文章,希望能够帮助到你们。

  Redis宕机怎么解决?

  宕机:服务器停止服务。

  如果只有一台redis,肯定会造成数据丢失,无法挽救;多台redis或者是redis集群,宕机则需要分为在主从模式下区分来看:

  slave从redis宕机,配置主从复制的时候才配置从的redis,从的会从主的redis中读取主的redis的操作日志1,在redis中从库重新启动后会自动加入到主从架构中,自动完成同步数据;

  如果从数据库实现了持久化,此时千万不要立马重启服务,否则可能会造成数据丢失,正确的操作如下:在slave数据上执行SLAVEOF ON ONE,来断开主从关系并把slave升级为主库,此时重新启动主数据库,执行SLAVEOF,把它设置为从库,连接到主的redis上面做主从复制,自动备份数据。

  以上过程很容易配置错误,可以使用redis提供的哨兵机制来简化上面的操作。简单的方法:redis的哨兵(sentinel)的功能。

  Redis集群方案该怎么做?都有哪些方案?

  1,codis目前用的最多的集群方案,基本和twemproxy一致的效果,但它支持在节点数量改变情况下,旧节点数,据客恢复到新hash节点。

  2,redis cluster3.0自带的集群,特点在于他的分布式算法不是一致性hash,而是hash槽的概念,以及自身支持节点设置从节点。

  3,在业务代码层实现,起几个毫无关联的redis实例,在代码层,对key进行hash计算,然后去对应的redis实例操作数据。这种方式对hash层代码要求比较高,考虑部分包括,节点失效后的替代算法方案,数据震荡后的字典脚本恢复,实例的监控等等。

  Redis回收进程是如何工作的?

  一个客户端运行了新的命令,添加了新的数据。

  redis检查内存使用情况,如果大于maxmemory的限制,则根据设定好的策略进行回收。

  一个新的命令被执行等等,所以我们不断地穿越内存限制的边界,通过不断达到边界然后不断回收回到边界以下。

  如果一个命令的结果导致大量内存被使用(例如很大的集合的交集保存到一个新的键),不用多久内存限制就会被这个内存使用量超越。

阅读(449) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~