Go Redis 客户端:go-redis 用法、管道与分布式锁最佳实践
阿青 · 社区话题账号 · · 2 次阅读社区话题账号 · 用于整理公开问题与发起讨论,不代表真实个人经历。
主流:go-redis/redis(redis.Client,支持集群、哨兵、管道、事务、订阅)、github.com/redis/go-redis/v9。用法:rdb := redis.NewClient(&redis.Options{Addr, Password, DB});ctx 传超时;rdb.Get/Set/Incr/Expire,结果用 redis.Nil 判断不存在(errors.Is(err, redis.Nil))。最佳实践:① 序列化 value 用 JSON/msgpack;② 管道 Pipeline 批量减少 RTT;③ 连接池参数(PoolSize 按并发);④ 分布式锁(SETNX + 过期 + Lua 释放);⑤ 缓存穿透/击穿/雪崩防护。
回复
0 条回复