这里是全站文章的归档入口,下面是按时间倒序排列的全部文章。若想按主题浏览,请从首页的专题分类进入。
多租户隔离与资源配额:共享 Redis 的边界设计
Redis 多租户隔离与资源配额实战:独享实例与共享实例逻辑隔离模型对比、DB 编号在 Cluster 下的限制、key 前缀与 ACL 按模式授权、maxmemory 全局限制与租户级配额统计、热点租户的大 Key 与热 Key 归因、慢租户拖垮整实例的防护、按前缀的用量统计与计费、选型建议
posts
这里是全站文章的归档入口,下面是按时间倒序排列的全部文章。若想按主题浏览,请从首页的专题分类进入。
Redis 多租户隔离与资源配额实战:独享实例与共享实例逻辑隔离模型对比、DB 编号在 Cluster 下的限制、key 前缀与 ACL 按模式授权、maxmemory 全局限制与租户级配额统计、热点租户的大 Key 与热 Key 归因、慢租户拖垮整实例的防护、按前缀的用量统计与计费、选型建议
Redis Key 设计与命名规范实战:冒号分层命名约定与大小写规则、key 长度对内存的放大效应与实测数据、可解析性设计与禁用字符、哈希标签保证集群同槽、TTL 强制与随机抖动防雪崩、版本化前缀与双写迁移、常见反模式清单、规范落地与代码检查手段
Redis 代理与路由方案实战:客户端直连 Cluster 的痛点、Twemproxy 与 Codis 及 Predixy 与 Envoy Redis Proxy 对比、Envoy redis_proxy 过滤器配置与集群定义、读写分离与多集群路由、代理的一跳延迟与单点风险、MOVED 与 ASK 重定向处理、代理层鉴权限流、与客户端分片方案的取舍
Redis on Kubernetes Operator 运维实战:CRD 与控制器协调循环、Spotahome RedisFailover 与 Opstree 及官方 Operator 对比、StatefulSet 与 PVC 编排、Pod 反亲和与拓扑分布约束、PDB 保障、Sentinel 与 Cluster 的节点发现与 announce-ip 陷阱、扩缩容与槽位迁移、备份与监控接入
Redis GEO 地理空间命令实战:GEOADD 写入与 52 位 Geohash 编码原理、GEOSEARCH 的 FROMMEMBER/FROMLONLAT 与 BYRADIUS/BYBOX 组合、COUNT ANY 与 WITHCOORD 参数、O(N) 全量扫描的性能本质与分片策略、附近的人与门店搜索实战、RediSearch 与 PostGIS 方案对比
Redis Keyspace 通知与变更捕获实战:事件类别字符详解、__keyspace@0__ 与 __keyevent@0__ 双通道订阅、CONFIG SET 动态开启与同步派发代价、集群下通知只在本地节点触发的问题、事件驱动本地缓存失效、Pub/Sub 不保证送达与无重放的本质局限、Streams 自建可靠 CDC、Debezium 方案对比与对账兜底
PHP 图像与文档处理实战:PDF 生成(Dompdf/mPDF/TCPDF 对比与 HTML 转 PDF)、PDF 合并拆分水印与表单(FPDI)、文本提取(Smalot PDFParser)、Office 文档读写(PhpSpreadsheet/PhpWord)、Tesseract OCR 图像识别、二维码条码生成、大文档内存超时治理与异步队列化流水线。
PHP 流封装与文件系统实战:流(Stream)抽象与 wrapper 机制、内置封装器(file/http/php://)与流上下文、自定义 streamWrapper 把 S3/内存挂成文件系统、流过滤器(zlib/convert)、大文件流式读写与 php://temp、文件锁 flock 与原子写 rename、目录遍历、性能与安全陷阱。
PHP gRPC 与 Protobuf 服务实战:相比 REST/JSON 的取舍、.proto 语法与字段编号/wire type/向后兼容规则、protoc 与 grpc 扩展环境准备、生成 PHP 消息类与 Stub、grpc/grpc 客户端调用与四种流式模式、RoadRunner 内建 gRPC 服务端、拦截器/超时/重试/元数据、与 REST 共存的网关设计与性能对比。
PHP 内存管理与垃圾回收实战:Zend 内存管理器(chunk/arena/bin)的分配模型、引用计数与释放时机、循环引用导致的泄漏、GC 根缓冲与标记清除算法、gc_enable/gc_probability/gc_mem_caches 配置、用 memory_get_usage 与 Xdebug 定位泄漏、生成器与 SplFixedArray 降内存、常驻进程内存治理策略。
Zend 引擎内部机制与 OPcache/JIT 实战:源码到字节码的编译流水线(词法/语法/AST/编译器)、zval 结构与引用计数、操作码(opcode)与 Zend VM 执行模型、OPcache 共享内存与驻留字符串、时间戳校验与预加载、JIT 的 tracing/function 两种模式与热循环判定、用 opcache_get_status 与 VLD 观测、性能决策清单。
FrankenPHP 与 RoadRunner 现代运行时实战:PHP-FPM 阻塞模型的瓶颈与常驻内存动机、FrankenPHP 内嵌 Caddy 的架构与 worker 模式(Caddyfile、自动 HTTPS、HTTP/2/3)、RoadRunner 的 Go 主进程与 PHP worker 通信协议、请求生命周期与内存泄漏防治、平滑重启与优雅停机、Docker 多阶段构建与迁移清单。
系统讲解 HTTP 缓存机制:浏览器/代理/CDN 三层缓存、Cache-Control 各指令(max-age/s-maxage/no-store/no-cache/private/immutable)、强缓存与协商缓存的区别、ETag 与 Last-Modified 的生成与比较、条件请求与 304、Vary 与内容协商陷阱、stale-while-revalidate 与资源指纹化策略。
系统梳理 CSV/TSV 解析的坑:RFC 4180 的引号与转义规则、分隔符与方言(dialect)检测、BOM 与编码、多行字段与换行符、引号内的逗号与换行、类型推断陷阱(科学计数法/前导零/日期/空值与 NULL 的歧义)、TSV 的额外约束、流式解析与内存、Excel 与公式注入安全,以及按场景的解析器选型建议。
从编译原理视角讲透模板引擎:词法切分与占位符解析、编译型(Jinja2/Go template)与解释型(Mustache/Handlebars)的实现差异、Mustache/Jinja2/ERB/Go template 四大语法家族对比、自动转义与 XSS 防御、模板继承与宏的复用机制、沙箱与安全边界、渲染性能与缓存策略,以及按场景(Web 服务端/静态站点/邮件/配置生成)的选型建议。
从 RFC 3986 出发讲透 URL:五段式结构(scheme/authority/path/query/fragment)、百分号编码的保留字符与 unreserved 集合、query 与 form 编码的差异、加号与空格的歧义、IDN 与 UTF-8 编码、相对引用与点段移除、各语言解析 API 的行为差异,以及开放重定向、SSRF、路径穿越等安全陷阱与规范化防御。
深入对比三种主流配置格式:INI 的极简与方言混乱、TOML 的强类型规范与表数组设计、HCL 的可编程块与表达式求值,并对照 JSON/YAML 作为配置的优劣。覆盖语法细节、类型系统、嵌套与数组表达、注释与多行字符串、解析陷阱、Schema 校验、环境变量插值、以及按场景(应用配置/基础设施/CI)的选型与迁移策略。
系统梳理位运算(bitwise operation)的底层表示与工程用法:二进制补码与符号扩展、与或异或取反移位的真值语义、掩码与位标志(bit flag)、lowbit/popcount/位反转等经典技巧、有符号右移与移位越界的未定义行为、跨语言(C/Java/Go/Python/JS)差异、位图与集合压缩、无分支优化的适用边界与可读性权衡。
Nix 是动态类型、惰性求值的语言,写错一个属性名往往要等到求值才报错。语言服务器把补全、跳转、诊断搬进编辑器,格式化器统一风格,statix 与 deadnix 提前拦下反模式与死代码。本文对比 nil 与 nixd 的取舍、给出各编辑器的接入配置、讲清 nixd 的选项补全原理,并用 treefmt 与 pre-commit 把检查固化到 CI。
内容寻址意味着 store 从不覆盖旧路径,一次重建就多出一份闭包,磁盘很快被历代产物吃满。回收的唯一依据是 gc root,而不是「看起来没人用」。本文讲清 gc root 的六种来源、手动与自动回收参数、硬链接去重的原理与代价、占用分析方法、结构性瘦身手段,以及误删与存储损坏后的恢复路径。