摘要: 【读书笔记】第四章、压缩列表 一、结构体 1. ziplist结构 2. entry 结构 entry 结构 这里面 previous_entry_length 记录了上个元素的长度。 以及 encoding 编码,外加内容。 假设当前元素首地址为 p 那么 p - p->previous_entry_length 就是上一个元 阅读全文
posted @ 2025-06-03 23:06 大俗XD 阅读(14) 评论(0) 推荐(0)
摘要: 【读书笔记】第三章、跳跃表 一、跃表节点与结构 /* * 摘自 /src/server.h */ //节点结构 /* ZSETs use a specialized version of Skiplists */ typedef struct zskiplistNode { // sds 很明显是字符串类型 sds ele; 阅读全文
posted @ 2025-06-01 14:31 大俗XD 阅读(8) 评论(0) 推荐(0)
摘要: 【读书笔记】第二章、简单动态字符串 一、数据结构 struct sds{ int len; //buf 已经占用的字节数 int free; //buf 中剩余可用字节数 char buf[]; } 1)内容存放在柔性数组的 buf 中, SDS 对上层暴露的指针不是指向结构体的 SDS 的指针,二十直接指向柔性数组 buf 的指针。 阅读全文
posted @ 2025-05-31 17:19 大俗XD 阅读(11) 评论(0) 推荐(0)
摘要: 一、大概流程 #如果重新编译需要 make clean make distclean #更新系统软件包 ./scripts/feeds udpate -a ./scripts/feeds install -a #选择软件 make menuconfig #最后编译 $(nproc) 是返回系统核心数 阅读全文
posted @ 2025-05-17 23:26 大俗XD 阅读(315) 评论(0) 推荐(0)
摘要: 【Redis集群实战】Redis Cluster 部署 Redis Cluster 基本说明 首先,Redis Cluster 必须有三个以上 master 才能创建出来。 我们先设置三组 master服务。 配置步骤 服务器 端口 角色 192.168.1.220 6379 master 192.168.1.220 7379 slave 192.168 阅读全文
posted @ 2024-11-22 00:10 大俗XD 阅读(101) 评论(0) 推荐(0)
摘要: Redis 基本说明 这里我是用的是docker。 既然使用docker那么就需要配置两个组件 一个 Redis 一个 Redis Sentinel 我们可以使用 docker-compose 来启动一组 docker 安装 docker-compose 下载 docker-compose 安装包 阅读全文
posted @ 2024-11-20 15:21 大俗XD 阅读(324) 评论(0) 推荐(0)
摘要: 设计模式 很早前看过,那时候囫囵吞枣,从来没有系统的总结过,因为对于面试而言问的问题总是答的不精确。 这次又借助《图解设计模式》复习了一遍,自己写了一篇总结。 23种设计模式 看起来很多其实大多数在开发中都见到过。甚至有的设计模式对于一个初学者而言即使不知道设计模式也会应用。 我想从 这方面入手 将 阅读全文
posted @ 2024-11-06 14:34 大俗XD 阅读(67) 评论(0) 推荐(0)
摘要: 第二十二章 Command 模式 我们写的代码大部分调用之后,系统里变没有任何记录。 Command 模式,主要在想通过记录 调用参数的方式来记录调用过程。 第二十三章 Interpreter 模式 通过解析语法规则来指导代码运行【类似于自己写了一个小型解析器】。 最直接的例子就是 正则表达式。 这 阅读全文
posted @ 2024-11-05 14:17 大俗XD 阅读(16) 评论(0) 推荐(0)
摘要: 第二十章 Flyweight 模式 public class BigcharFactory{ //这里对使用到的内容进行了缓存 private HashMap pool = new HashMap(); //有则直接取,无则创建并保存到缓存。 public synchronized BigChar 阅读全文
posted @ 2024-11-05 13:43 大俗XD 阅读(6) 评论(0) 推荐(0)
摘要: 第17章 Observer 模式 public abstract class NumberGenerator{ private ArrayList observerList = new ArrayList(); /* 部分代码省略 */ //加入基础类,当需要通知的时候通知 public void 阅读全文
posted @ 2024-11-05 13:24 大俗XD 阅读(7) 评论(0) 推荐(0)
摘要: Facade 模式 public class Main{ public static void main(String[] args){ PageMaker.makeWelcomePage("someone@email.com","welcom.html"); } } public class Pa 阅读全文
posted @ 2024-11-05 11:11 大俗XD 阅读(7) 评论(0) 推荐(0)
摘要: 第十三章 Visotor 模式 public class file extends entry{ /* 省略 */ puhblic void accept(Visitor v){ v.visit(this); } } public class Main{ public static void mai 阅读全文
posted @ 2024-11-05 10:19 大俗XD 阅读(26) 评论(0) 推荐(0)
摘要: 第11章 Composite 模式 文中举例文件夹系统, 简单说明: 这里可以讲File 和 dirctory 看作一种东西 Entry。在 Entry 的基础上分化两者,构成结构。 能够使容器与内容具有一致性,创造出递归结构。 第12章 Decorator 模式 public class Main 阅读全文
posted @ 2024-11-05 09:28 大俗XD 阅读(19) 评论(0) 推荐(0)
摘要: 第九章 Bridge模式 //使用代码 public class Main(){ public static void main(String[] args){ Display d1 = new Display(new StringDisPlayImpl("Hello, China.")); Dis 阅读全文
posted @ 2024-11-04 23:55 大俗XD 阅读(7) 评论(0) 推荐(0)
摘要: 第五章 Singleton 模式 单例模式应该是开发中用的比较多的模式。这里我只记一个知识点。 多线程下安全的单例模式的一个知识点 public class Singleton{ public static InstanceClass instance = null; public static S 阅读全文
posted @ 2024-11-04 18:46 大俗XD 阅读(12) 评论(0) 推荐(0)
摘要: 交给子类 Teamplate Method 模式 -- 将具体任务交给子类 核心代码 public abstract class AbstractDisplay{ public abstract void open(); public abstract void print(); public ab 阅读全文
posted @ 2024-11-04 17:28 大俗XD 阅读(13) 评论(0) 推荐(0)
摘要: 第一章 Iterator模式 -- 一个一个遍历 为什么要使用 Iterator模式? 正常遍历我们使用 for 循环即可,为什么要在集合引入 Iterator 这个角色呢? eg while(it.hasNext()){ Book book = (Book) it.next(); System.o 阅读全文
posted @ 2024-11-04 16:49 大俗XD 阅读(15) 评论(0) 推荐(0)
摘要: 不提供代理,只是在有代理服务器的情况下一些 Docker 代理配置。 关于 docker run 报错 正常安装 docker 完毕后,可以使用 docker run hello-world 来运行,但是发现报错 Unable to find image 'hello-world:latest' l 阅读全文
posted @ 2024-11-01 18:03 大俗XD 阅读(177) 评论(0) 推荐(0)