Redis学习笔记怎么写?先从基础命令入手,每天实践一个场景,比如用SET存用户数据,用GET取出来,然后记录执行时间和内存占用。实践心得:Redis快是因为内存操作,但别忽略持久化,AOF日志帮我救过一次数据丢失的命。启发:缓存要设置过期时间,避免雪崩,用Lua脚本原子化复杂操作。
基础笔记结构
笔记分成三部分:命令大全、场景案例、性能调优。命令大全列如INCR原子递增,场景案例模拟电商库存扣减,性能调优记下maxmemory-policy allkeys-lru的效果。实践心得:分布式锁用SETNX+EX实现,启发是别让锁时间太短否则重入失败。
实践案例一
我写笔记时用Redis做排行榜,ZADD存分值,ZRANGE取前10。实践心得:大数据量时分片存储,分成hot和cold榜单。启发:Pipeline批量命令减少RTT,笔记里贴代码对比单发和批量时间差。
Session存储笔记
SESSION用HASH存用户信息,HSET user:123 name tom。实践心得:集群模式下用HASH TAG保证同一个slot。启发:别存大对象,用JSON序列化但控制大小,笔记截图cluster slots命令输出。
缓存穿透处理
笔记记录缓存穿透:空值也缓存,设短TTL。实践心得:Bloom过滤器预判不存在key,启发是结合布隆减少DB压力,笔记贴了guava布隆代码片段集成Redis。
持久化实践
RDB快照适合备份,AOF适合高可靠性,笔记对比fork时间。实践心得:混合用,启发是AOF rewrite定期瘦身,避免日志爆炸。
Pub/Sub消息
笔记写订阅频道天气更新,PUBLISH weather "rain"。实践心得:不持久,适合实时通知,启发用Stream代替有持久ACK。
FAQ
Q: Redis笔记怎么避免遗忘命令?
A: 用Anki卡片复习,每周操练高频命令。
Q: 实践中最坑的错误?
A: 忘了pipeline,网络来回杀性能。
Q: 怎么测试Redis性能?
A: redis-benchmark -n 100000循环跑。
Q: 学习Redis要装集群吗?
A: 先单机练熟,再docker-compose起哨兵或cluster。