摘要: Redis虽然本身为内存数据库,但是作为高可用的基础,也支持数据持久化机制:RDB和AOF,两种持久化机制的使用场景不同,一般结合使用 参考 https://www.cnblogs.com/kismetv/p/9137897.html RDB持久化 RDB持久化通过创建快照来获得存储在内存里面的数据 阅读全文
posted @ 2025-11-18 23:34 xxs不是小学生 阅读(4) 评论(0) 推荐(0)
摘要: 大家都知道,Redis的ZSET底层基于跳表,但是为什么基于跳表呢,为什么不是红黑树或者AVL数呢?本篇文章来探讨一下。 Redis的设计初衷是内存数据库,首先要保证访问快速,其次,内存效率要高。那跳表是如何脱颖而出的呢? AVL树 AVL树的存取时间复杂度为O(logn),其属于绝对平衡树,需要通 阅读全文
posted @ 2025-11-18 23:05 xxs不是小学生 阅读(5) 评论(0) 推荐(0)
摘要: 本篇笔记完全基于guide-rpc-frame,膜拜大佬 RPC总体架构 简单框架 完整版框架 一个最基本的RPC架构: 服务端提供服务注册功能,向注册中心提供服务 客户端提供服务发现功能,从注册中心查询提供该服务的节点 在以上基础上,完整版框架提供负载均衡、接口监控以及序列化、压缩等功能 服务注册 阅读全文
posted @ 2025-11-17 21:51 xxs不是小学生 阅读(14) 评论(0) 推荐(0)
摘要: Redis 共有 5 种基本数据类型:String(字符串)、List(列表)、Set(集合)、Hash(散列)、Zset(有序集合),底层结构如下所示: String List Hash Set Zset SDS LinkedList / ZipList / QuickList Dict / Zi 阅读全文
posted @ 2025-11-15 20:05 xxs不是小学生 阅读(20) 评论(0) 推荐(0)
摘要: 概念 业务中通常使用MySQL作为持久化数据库,并使用缓存来提升系统性能,同时使用缓存和数据库会存在数据一致性问题,而缓存一致性策略,或者也可以叫做缓存读写策略,是指在写数据或读数据时,数据库与缓存之间如何去维护数据一致性的方案。 换一个视角,从CAP理论视角来看,缓存属于AP系统,即保证分区容错和 阅读全文
posted @ 2025-11-15 18:30 xxs不是小学生 阅读(9) 评论(0) 推荐(0)
摘要: 概念 TCP三大特性:面向连接、可靠传输和基于字节流,第三个特性面向字节流是指TCP协议属于流式协议,内容与内容之间没有明确的分界符号,需要人为去给消息协议定义边界规则,来区分不同的消息。举一个例子 发送端发送了两份数据,在传输层被划分为7个数据包,两份数据各占3.5个数据包,由于是字节流,两份数据 阅读全文
posted @ 2025-11-13 20:48 xxs不是小学生 阅读(12) 评论(0) 推荐(0)
摘要: Redis基础 Redis基础 Redis (Remote Dictionary Server) 是一个基于C语言开发的NoSQL数据库,是一个内存数据库,支持持久化,因此读写速度非常快,原生支持集群部署。 Redis为什么这么快呢? 内存数据库,所有请求完全基于内存,读写速度非常快,访问级别是纳秒级,相对于硬盘数 阅读全文
posted @ 2025-11-13 00:06 xxs不是小学生 阅读(5) 评论(0) 推荐(0)
摘要: 内存泄露 基本概念参考:https://www.cnblogs.com/0201zcr/p/4805920.html 内存泄露 vs 内存溢出 内存溢出(OOM):程序申请内存时,没有足够的空间供其使用 内存泄露:程序申请内存成功,使用完后,这部分空间无法被GC回收,导致可用内存减少,一次内存泄露危害可以忽略 阅读全文
posted @ 2025-11-03 16:36 xxs不是小学生 阅读(4) 评论(0) 推荐(0)
摘要: Java基础(上) 本文主要参考:https://javaguide.cn/java/basis/java-basic-questions-01.html ,在其基础上做了部分扩展 基础概念 Java vs. C++ C++需要手动管理内存,Java有自动内存回收机制 C++支持多继承,Java只支持单继承,但支持多实 阅读全文
posted @ 2025-11-01 20:00 xxs不是小学生 阅读(16) 评论(0) 推荐(0)