上一页 1 ··· 3 4 5 6 7 8 9 10 11 下一页
摘要: redis cluster实例间通过gossip协议进行通信,各个实例之间通过ping/pong消息进行信息交换,包含了当前实例和部分其他实例的状态信息以及本实例的slot bitmap 如果盲目的增加实例数量会导致集群间通信量增加 挤占了正常请求的带宽 每个实例都要保存完整的集群路由信息,每多一个 阅读全文
posted @ 2021-04-14 10:27 rudynan 阅读(114) 评论(0) 推荐(0)
摘要: 数据倾斜的原因: 1. 存在bigkey - 业务层避免bigkey - 将集合类型的bigkey拆分为多个小集合 2. slot手工分配不均 3. hashtag 导致数据分配到同一个slot - 避免使用hashtag 访问倾斜的原因: 1. 存在热点数据 - 如果是只读数据,可以使用多副本 k 阅读全文
posted @ 2021-04-14 09:57 rudynan 阅读(841) 评论(0) 推荐(0)
摘要: await方法: 1. 线程中断之后再调用await会直接抛异常 2. 将当前线程包装成一个node放入条件队列中 如果条件队列的尾节点是取消状态 当前线程会把所有取消状态的节点在条件队列中出队 3. 完全释放锁 4. 判断如果当前node是在条件队列中的话就挂起当前线程等待被signal被唤醒 5 阅读全文
posted @ 2021-04-13 22:30 rudynan 阅读(65) 评论(0) 推荐(0)
摘要: 当主库宕机之后,从库可以处理读请求,但是写请求无法处理 这时就需要进行主从迁移,那么主从迁移有几个问题需要解决 1. 如何确认主库是真的挂了 2. 该选择哪个从库升级为主库 3. 怎么通知其他从库 主库被替代了 redis 哨兵模式解决了上面的问题 哨兵是一个运行在redis中的一个进程,主要负责 阅读全文
posted @ 2021-04-12 11:15 rudynan 阅读(87) 评论(0) 推荐(0)
摘要: ReentrantLock类的两个核心方法 lock 调用的AQS的 acquire方法 unlock 调用的AQS的 realse方法 lock方法执行流程 1. 上来先去尝试抢占锁 如果阻塞队列中没有node等待 获取成功直接返回 2. 加锁失败(阻塞队列前有node) 会把当前线程封装成nod 阅读全文
posted @ 2021-04-01 22:13 rudynan 阅读(54) 评论(0) 推荐(0)
摘要: 做内存快照就需要考虑两个问题 1. 给哪部分数据做快照? 对全量内存数据做快照,做快照可以使用后台线程执行快照 2. 在快照期间能否有新的数据操作? 当然可以了,如果在rdb期间不能操作数据那是致命性的, redis使用操作系统提供的写时复制技术,主线程fork子线程,主线程会复制主线程的页表如果主 阅读全文
posted @ 2021-03-17 17:34 rudynan 阅读(301) 评论(0) 推荐(0)
摘要: AOF 记录日志是在处理完请求时,好处是记录的都是成功的请求,不会阻塞写操作 但是会阻塞后续的操作,因为这一步也是主线程执行的 写入磁盘是影响性能的,redis给我们提供了三种同步时机 1. always 2. everysec 4. no 先写入aof文件的内存缓冲区 由系统决定何时存入磁盘 当a 阅读全文
posted @ 2021-03-17 11:44 rudynan 阅读(506) 评论(0) 推荐(0)
摘要: redis的单线程是针对网络io与键值的操作来说的,其他的比如持久化异步删除等是其他线程负责的 那么redis为什么使用单线程? 因为多线程程序面临的共享资源的并发控制问题,如果只是简单的加个互斥锁就会让这部分程序成为瓶颈,并且会导致系统降低易用性 为什么redis使用单线程还这么快? 1. 大部分 阅读全文
posted @ 2021-03-17 10:43 rudynan 阅读(85) 评论(0) 推荐(0)
摘要: redis为什么快? 首先是基于内存存储 然后高效的数据结构是redis快速处理数据的基础,那么接下来讲讲redis的value数据结构 sds简单动态字符车/双向链表/压缩链表/哈希表/跳表/整数数组 上述的数据结构都是value的表现形式,那么redis是如何通过redis的key找到对应的va 阅读全文
posted @ 2021-03-16 18:21 rudynan 阅读(48) 评论(0) 推荐(0)
摘要: 用来描述请求处理结果,格式 3位数字 和 原因短语组成 比如: 200 OK 状态码类别 1. 1XX 信息类状态码 接收的请求正在处理 2. 2XX 成功状态码 204 no content不允许返回实体的主体 206 partial content 成功执行了范围请求 3. 3XX 重定向状态码 阅读全文
posted @ 2021-03-16 09:54 rudynan 阅读(55) 评论(0) 推荐(0)
上一页 1 ··· 3 4 5 6 7 8 9 10 11 下一页