上周跟南京做电商中台的老伙计喝酒,他拍着桌子骂了二十分钟。
原因很简单。
双11大促前一周,他们花了三年堆的Redis集群,被一波突发的直播流量打穿——不是宕机,是所有热点key的内存占用比预估高了70%,运维半夜爬起来清缓存,把刚上线的满减活动页面打回了静态。
没人能想到,这个从2009年就火到现在的开源项目,到2024年还能在最核心的交易场景里掉链子。
被误解了15年的技术边界
从第一个开源版本发布到现在,很多团队对Redis的认知还停留在“比MySQL快百倍的缓存工具”层面,根本没摸到它从设计之初就刻在骨子里的能力边界。Redis的核心设计从始至终就不是“通用数据库”,而是“以内存为载体的极速读写层”——它靠单线程事件循环规避多线程上下文切换的开销,靠预分配内存减少碎片,靠简单的KV模型砍掉所有复杂的查询逻辑,所有的设计都是为了把单次读写的延迟压到微秒级。
但这个设计的死穴也从一开始就埋好了。
单线程模型意味着,任何一个耗时稍长的操作,都会堵死整个实例的所有请求。一个10M大小的字符串key,一次读取操作就能把整个事件循环卡住几百毫秒;一个存了上百万字段的hash结构,一次全量遍历就能把内存吃满。很多团队踩坑的时候才反应过来,原来Redis的“快”是有前提的——你的每一次读写,都得是小粒度的、高频的、没有复杂计算的操作。

我见过太多团队把Redis当万能膏药贴。有人把订单全量存在Redis里当主库用,结果碰到AOF重写的时候内存占用直接翻倍,128G的实例直接OOM;有人把用户的全量标签塞到一个key里做用户画像,结果一次批量拉取就把整个集群的带宽打满。说真的,这些坑根本不是Redis的问题,是用的人从一开始就搞错了它的定位。
绕不开的云厂商生态绑架
如果说技术边界是所有用户都得踩一遍的入门坑,那最近两年的许可证变更,就是把所有企业用户推到了一个不得不选的十字路口。
2024年春天,Redis官方宣布把沿用了十几年的BSD开源许可证,换成了RSALv2和SSPL的双重许可——简单说就是,你不能再随便拿开源版的Redis打包成云服务对外卖了,哪怕你改了代码,只要提供托管的Redis服务,就得找官方谈授权付费。
这个公告出来的时候,整个国内云厂商的技术团队都炸了。要知道,在此之前,国内公有云市场上的Redis类托管服务,几乎全是基于开源版直接做的运维封装,占了整个国内缓存服务市场六成以上的份额。

这次许可证变更,本质上是Redis从“社区开源项目”转向“商业公司变现产品”的标志性拐点。很快,Linux基金会牵头搞了完全开源的Valkey分支,100%兼容原来的Redis协议,没有任何授权限制;阿里云、腾讯云、华为云纷纷宣布基于Valkey做自己的托管缓存服务,跟官方版划清界限。
对吧?这跟当年MySQL被Oracle收购的时候,企业用户的纠结简直一模一样。继续用官方版吧,怕后面授权费涨得离谱;自己搭开源版吧,大促的时候扩容、运维、故障排查的成本根本扛不住;上云厂商的分支吧,又怕后面被生态锁定,迁个数据都要扒层皮。
被低估的落地风险
很多人觉得,Redis不就是个缓存吗,能有什么风险?
真算起来,Redis藏的坑比很多核心数据库都多。最老的未授权访问漏洞,从2015年爆出来到现在,公网上还能扫到几万台没有做权限校验的Redis实例,被人写SSH公钥、植入挖矿程序、删库勒索的新闻,每隔几个月就能看到一次。
更隐蔽的是成本失控的风险。我之前接触过一个做短视频的团队,一开始觉得内存便宜,把所有热门视频的元数据、互动计数、用户关注关系全塞到Redis里,跑了两年算账单的时候才发现,Redis集群的一个月费用,比整个业务的主数据库成本还高——一年下来光缓存层就要花两百多万。最后被逼着把冷数据全迁到了SSD盘的KV存储上,热数据留在Redis里,成本直接砍了80%。
还有那个永远绕不开的大key问题。绝大多数团队根本没有常态化的Redis巡检机制,等到流量打穿、接口超时的时候才发现,一个存了全量地区门店信息的key大小有2G,一次同步读取就能把整个实例堵死。真的,见过太多这样的冤大头了。
未来3到5年的走向
站在现在的节点往后面看,Redis不会消失,但肯定不会再是之前那个一家通吃的开源标配了。
首先是格局的分化。官方版会走纯商业化的路线,针对金融、政企这类对授权合规要求高的大客户,做企业级的安全、容灾、权限管控功能;Valkey这类社区分支会走完全开源的路线,靠云厂商的投入快速迭代,拿到原来开源用户的基本盘;国内的云厂商会基于这些开源分支做深度优化,把自己的生态跟Redis的兼容层绑得更紧,吃迁移的红利。
其次是定位的固化。Redis不会替代传统的关系型数据库,也不会变成通用的NoSQL平台,它的基本盘就是那些需要微秒级响应的场景:直播的弹幕计数、电商的实时库存扣减、推荐系统的实时特征层、用户登录态的存储——这些场景对延迟的要求极高,对成本的敏感度相对低,是它谁也抢不走的阵地。
最后是成本逻辑的重构。现在已经在落地的Redis on Flash技术,就是把冷数据下沉到SSD存储上,只把最热的key留在内存里,把原来纯内存架构的成本打下来。再过三五年,纯内存的Redis只会用在最核心的热点场景,大部分非核心的缓存请求,都会跑在分层存储的架构上,再也不会有人为了几块冷数据,付纯内存的溢价。
上周再跟那个踩坑的老伙计喝酒,他说现在团队已经把原来的大key全拆了,热点key提前做了本地缓存,还把三分之一的冷数据迁到了云厂商的开源分支上,算下来一个月能省十几万。
其实技术这东西从来没有神。
Redis也一样。
它只是刚好在互联网最需要极速响应的那个节点,踩中了内存成本下降的风口而已。没有谁是永远的标配。能一直活下去的,从来都是那些把边界摸得门清的人。
作者|fawen
排版|fawen
审核|阿辰
大讲堂