摘要: 概念及特点 简单来说就是每台Redis服务器上存储不同的内容,大大节约了内存。Redis-Cluster采用无中心结构特点如下: 1.所有的Redis节点彼此互联(通过PING-PONG机制)。 2.内部使用二进制协议优化传输速度和带宽。 3.一个节点的fail是通过集群中半数以上的节点都检测到失效 阅读全文
posted @ 2021-12-08 00:32 sellingpear 阅读(60) 评论(0) 推荐(0)
摘要: 哨兵模式是干啥的? 1.监控主、从服务器是否正常工作。 2.主服务器出现故障自动将从服务器升级为主服务器。 工作方式 每个Sentinel(进程)以每秒一次的频率向整个集群中的主服务器、从服务器和其他哨兵发送PING请求。如果说一个实例在设置时间之内没有返回响应,这个实例就会被该哨兵标记为主观下线。 阅读全文
posted @ 2021-12-08 00:02 sellingpear 阅读(140) 评论(0) 推荐(0)
摘要: 主从复制的原理 从服务器向主服务器发送SYNC(同步)请求。主服务器收到这个请求之后,(这个时候就不是单线程啦)开始生成RDB(快照文件),并且使用缓冲区记录之后所有的写操作命令。快照文件生成完毕之后,主服务器,向从服务器发送快照文件,这期间也继续记录执行过的写命令。从服务器接收快照文件完毕之后,丢 阅读全文
posted @ 2021-12-07 23:46 sellingpear 阅读(80) 评论(0) 推荐(0)
摘要: 1.缓存和数据库的双写一致性问题 如果有缓存,那么就从缓存中完成查询操作了,所以一定要保证缓存中的数据和数据库中的数据是一致的。 解决的方案: 1.写一个接口,每次做写操作的时候,删除缓存中对应的数据。这样做耦合度高,也有可能会出现接口调用失败的情况。 2.使用消息中间件。 2.缓存的并发竞争问题 阅读全文
posted @ 2021-12-07 23:11 sellingpear 阅读(703) 评论(0) 推荐(0)
摘要: 1.快照模式 也就是RDB,比较快,实际生产中常用,可能会有丢失的数据。 2.AOF 记录Redis执行的写命令,Redis重启后,重新执行这些命令。 优点是数据保存完整,但是速度会比较慢。 2024.6.26 1.RDB文件格式中的 check_sum字段数值用来在载入时判断文件是否损坏 2.RD 阅读全文
posted @ 2021-12-07 22:51 sellingpear 阅读(34) 评论(0) 推荐(0)
摘要: 1.纯内存操作,如今最强的key-value数据库。支持事务化、持久化。 2.单线程操作,避免了频繁的上下文切换。此处的单线程只是指网络IO以及key-value的读写由一个线程完成。但持久化和集群支撑模块是多线程的。 3.采用了非阻塞IO多路复用机制。也就是单个线程,通过跟踪每个IO流的状态管理多 阅读全文
posted @ 2021-12-07 22:35 sellingpear 阅读(629) 评论(0) 推荐(0)
摘要: String:最常用的,也就是字符串。 Hash:也叫散列。 List:简单的字符串列表。 Set:无序字符串集合。 Sorted set:有序字符串集合。 2024.6.24 1.Redis中string数据类型的数据结构 string采用预分配冗余空间的方式来减少内存的频繁分配 string的数 阅读全文
posted @ 2021-12-07 22:27 sellingpear 阅读(44) 评论(0) 推荐(0)
摘要: 首先要找到原因,是producer太多了,还是说consumer太少了。定位问题,然后看下消息的消费速度是否正常,正常的话,可以通过临时上线更多consumer解决问题。 如果consumer和queue不对等,上线了多台consumer也无法解决的话,可以 准备一个临时的topic; queue的 阅读全文
posted @ 2021-12-07 21:38 sellingpear 阅读(975) 评论(0) 推荐(0)
摘要: 1.producer 同步的向broker发送消息,等待响应。 超时则重发,本质上是一个循环,可以设置次数。 broker提供多主模式。 2.broker 将默认的异步刷盘和集群的异步同步更改为同步刷盘,同步同步,也就是同步双写。 3.consumer 利用的是at least once特性。 阅读全文
posted @ 2021-12-07 21:25 sellingpear 阅读(88) 评论(0) 推荐(0)
摘要: 1.相关的类 TopicPublishInfo类是用于producer端做负载均衡的关键类,producer通过这个类识别broker并选择broker。 MessageQueue类描述了单个消息队列的模型。 这个类用于管理队列属于那个topic,以及在哪个broker。 TopicRouteDat 阅读全文
posted @ 2021-12-07 19:35 sellingpear 阅读(451) 评论(0) 推荐(0)