Redis 学习笔记

数据结构和对象 # 数据结构 源码位置 SDS sds.h LinkList adlist.h Dict dict.h Simple Dynamic Strings # 文档: Hacking Strings sds.h typedef char *sds; struct __attribute__ ((__packed__)) sdshdr8 { uint8_t len; // 字符串长度 uint8_t alloc; // 字符串最大容量 unsigned char flags; /* 3 lsb of type, 5 unused bits */ char buf[]; }; sds 是指向一个 C 字符串的指针, 访问 Header 需要向前寻址 struct __attribute__ ((__packed__)) 表示不要内存对齐, 使用紧凑模式 char buf[] 是柔性数组, 在结构体的最后, 此前需要至少一个成员
全文 →

使用树莓派搭建K8s集群

对k8s十分感兴趣,但学习k8s首先得需要个集群,单个节点没什么意思,学习或测试通常使用多个虚拟机来模拟集群。我刚好有3个树莓派,偶然发现k3s可以安装到树莓派上,k3s特别轻便,安装即用十分适合自己搭建小项目或学习。本文记录一下我搭建k3s集群的步骤,通过搭建集群的方式学习和理
全文 →

Hugo博文图片路径

每次切换博客系统,搞系统的时间总是比写博客的时间要长,hugo也不例外,这次说一下hugo下博文图片的路径配置。之前配置的是将博文图片放在 static/posts 下建立和博文一样的文件夹存储图片,hugo生成静态网站时会将 static 文件夹拷贝到网站根目录,图片地址刚好在文章url的下一级,看起来很合理,但在本
全文 →

使用Docker搭建RocketMq

一直在使用公司提供的RocketMq环境,公司提供的是深度定制的版本。突发奇想自己也搭建一个试试。RocketMQ作为一个分布式架构的系统,docker-compose方式可以清晰的用多容器模拟分布式的状态。因为是单机器并且性能不强的情况下搭建,遇到一些坑,这里记录一下,搭建完成
全文 →

系统和应用性能分析工具

Linux 性能分析 # 系统级别 # 一些命令 # uptime: 查看cpu负载 top (htop): 进程的资源占用状况 ps: 显示进程(process) 的状态 vmstat (free): 内存整体使用情况 iostat: 磁盘的一些指标 mpstat: 显示每个 CPU 核心的工作情况 ping: 连通性和延迟 nicstat: 网卡的一些指标 dstat: 综合cpu, memory, IO, network, 实时展示当前的系统资源利用情况 高级一些的命令 sar, netstat, pidstat, strace, tcpdump, blktrace, iotop, slabtop, sysctl, /proc
全文 →