摘要: redis 最大运行内存 redis 最大运行内存可以是多少呢,这个主要看 redis.conf 配置中的maxmemory <bytes>选项,设定最大运行内存的单位是字节。只有当我们的 redis 内存占用达到这个阈值时,才会开启缓存淘汰。 在 64 位机器上,maxmemory 的默认值是 0 阅读全文
posted @ 2024-08-15 13:49 墨色山水 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 其实网上有很多介绍 redis cluster 集群的博客文章,这里主要是总结集群设计的一些关键点。 节点通讯 Gossip 算法:是一种用于在分布式集群中,去中心化(无leader节点),保持所有节点数据最终一致性的算法。 当某个节点的状态发生变更(例如新节点加入、现有节点离开或状态改变)时,它会 阅读全文
posted @ 2024-08-02 15:37 墨色山水 阅读(39) 评论(0) 推荐(0) 编辑
摘要: redis 为了在能在宕机后,数据不丢失,提供了 rdb 和 aof 两种方式持久化 rdb 介绍 原理:在指定的时间间隔内,将内存里的所有数据以快照的形式保存到一个二进制文件中,在重启 redis 时,通过加载这个二进制文件里的数据到内存中,实现数据恢复。rdb 默认使用的文件名为 dump.rd 阅读全文
posted @ 2024-07-26 09:28 墨色山水 阅读(28) 评论(0) 推荐(0) 编辑
摘要: A服务发消息给B服务,不管 B 服务是和 A 服务在同一个节点上,还是在不同节点上,都是需要序列化消息的,因为每个服务都是一个 Actor 对象,通信必须得通过发送信封的方式来交互,不能直接引用调用。 本来想自己写博客记录下具体,但网上搜到一篇对序列化将的还不错的文章,就懒得再自己写了。 skyne 阅读全文
posted @ 2024-07-02 07:08 墨色山水 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 首先,我们需要考虑下函数调用前,我们需要做些哪些准备工作。调用时,如何切换到它对应的函数环境中,调用完后,又如何切换回来。 函数调用前准备 我们之前有介绍过函数闭包,lua 函数能像其他值(数值、字符串)一样,可以被存放在变量中,也可以存放在表中,可以作为函数的参数,还可以作为函数的返回值。(在lu 阅读全文
posted @ 2024-06-27 08:34 墨色山水 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 在做一个通用的 lua 性能监控工具,不嵌入代码,目前了解到的,比较好的方式是使用 ebpf 。 chatgpt 对 ebpf 介绍: eBPF是一种允许用户在 Linux 内核中注入自定义代码的技术,eBPF全称为 extended Berkeley Packet Filter,它提供了一种轻量级 阅读全文
posted @ 2024-06-16 11:43 墨色山水 阅读(103) 评论(0) 推荐(0) 编辑
摘要: RBP 寄存器栈帧回溯 栈帧:每个函数调用时,都需要在用户栈中存储一些临时变量,参数,返回地址,还有一些和函数相关的信息。在函数调用完后,栈帧会被销毁,释放,这个过程是自动的。 原理:rbp寄存器存储了当前函数栈帧地址,每当调用一个新的函数时,会先把当前函数的栈帧地址(rbp寄存器值) push 进 阅读全文
posted @ 2024-06-12 19:40 墨色山水 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 介绍 复习下进程,线程,协程的概念。 进程:是操作系统分配资源的基本单位,代表了程序正在运行时的实例。操作系统为其分配独立的内存空间,包括堆栈,代码,数据等信息,进程之间相互独立,一般通过信号、共享内存、管道,网络等方式通讯,由操作系统负责调度执行。 线程:是进程内的执行单元。一个进程里可以有多个线 阅读全文
posted @ 2024-05-14 09:02 墨色山水 阅读(77) 评论(0) 推荐(0) 编辑
摘要: 平时用 for 循环的地方挺多的,所以有空就想着看看它内部实现原理。 根据 lua 语法规定,for 循环分为两类: 数值for循环 泛型for循环 数值for循环 格式: for var=exp1,exp2,exp3 do <执行体> end 解析阶段分析: static void forstat 阅读全文
posted @ 2024-05-08 21:22 墨色山水 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 注册表 注册表( registry)是张只能被代码访问的全局表,这个注册表实际上就是一个普通的Lua表。它主要的作用, 可以存放 lua 的全局变量 存储 c 编写的扩充函数 注册表预先定义了一些key/value。 LUA_RIDX_MAINTHREAD:指向 主线程 LUA_RIDX_GLOBA 阅读全文
posted @ 2024-05-04 17:14 墨色山水 阅读(154) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示