最新发布第4页
排序
热点数据过期时间设计:平衡一致性与性能
热点数据过期时间设计:平衡一致性与性能 问题的本质 过期时间(TTL)是缓存系统最核心的参数之一。设得太短,缓存命中率低,数据库压力大;设得太长,数据可能过时,用户看到脏数据。对于热点...
多级缓存设计:从 CPU 到分布式缓存的层层加速
多级缓存设计:从 CPU 到分布式缓存的层层加速 什么是多级缓存 多级缓存(Multi-Level Cache)是一种分层缓存架构,将不同速度、不同容量、不同成本的存储介质组织成缓存层级。请求从最快的层级...
缓存超量怎么办——缓存容量规划与淘汰策略
缓存超量怎么办——缓存容量规划与淘汰策略 问题背景 Redis 是一个基于内存的数据库,内存是有限且昂贵的资源。当缓存数据量超过可用内存时,如果不加控制,Redis 会因 OOM(Out of Memory)被...
缓存更新并发问题——高并发写入时如何保证数据一致性
缓存更新并发问题——高并发写入时如何保证数据一致性 问题的本质 缓存更新并发问题指的是在高并发场景下,多个线程/进程同时执行缓存和数据库的更新操作,导致数据不一致、脏数据、丢失更新等...
动态调整过期时间:让缓存自己”学习”最佳 TTL
动态调整过期时间:让缓存自己'学习'最佳 TTL 什么是动态调整过期时间 动态调整过期时间(Adaptive TTL / Dynamic TTL)是指不采用固定 TTL,而是根据数据的实际访问模式、热度变化、系统负载等...
Lua 脚本在 Redis 中的作用与优势:为什么它是 Redis 的”瑞士军刀”
Lua 脚本在 Redis 中的作用与优势:为什么它是 Redis 的'瑞士军刀' Lua 脚本在 Redis 中的定位 Redis 从 2.6 版本引入 Lua 脚本支持,通过内置的 Lua 5.1 解释器,允许用户执行自定义脚本。Lua ...
EVAL 与 EVALSHA 的区别:Redis Lua 脚本调用的两种方式
EVAL 与 EVALSHA 的区别:Redis Lua 脚本调用的两种方式 基本概念 Redis 提供了两种方式执行 Lua 脚本:EVAL 和 EVALSHA。两者的本质区别在于脚本的传递方式——一个是完整脚本内容,一个是脚本...
编写 Redis Lua 脚本的注意事项:避开这 8 个坑
编写 Redis Lua 脚本的注意事项:避开这 8 个坑 1. 使用 KEYS 和 ARGV,不要硬编码 key 名 -- ❌ 错误:硬编码 key 名 redis.call('SET', 'mykey', 'value') -- ✅ 正...
Redis 是否支持存储过程?深入解析 Lua 脚本与关系型数据库存储过程的区别
Redis 是否支持存储过程?深入解析 Lua 脚本与关系型数据库存储过程的区别 直接回答 Redis 没有传统意义上的'存储过程'。关系型数据库(如 MySQL)的存储过程是一个预编译的、可以带参数、有权...
慢命令与为什么应该避免 KEYS *:Redis 性能杀手面面观
慢命令与为什么应该避免 KEYS *:Redis 性能杀手面面观 什么是慢命令 慢命令(Slow Command)是指时间复杂度为 O(N) 或更差、可能阻塞 Redis 主线程并导致服务短暂'卡顿'的操作。由于 Redis 是...
