☰
很多C++程序员用错了Redis:12个真实场景告诉你该选哪个数据类型
2026/9/28 7:26:44 网站建设 项目流程

Redis有5种基础数据类型,外加好几种扩展类型。问题来了:什么场景该用什么类型?

这个问题看似简单,实际上很多人都在踩坑。用String存了本该用Hash存的数据,结果内存占用翻倍;用List做排行榜,结果每次排序都要O(N);用Set存了需要排序的数据,到头来只能取出来在应用层排序,既浪费CPU又浪费网络带宽。

选错数据类型的代价不小。轻则内存多占几个G,重则QPS从10000跌到500。

这篇文章通过12个真实业务场景,讲清楚Redis每种数据类型该怎么选,每个场景都会分析为什么用这个类型、底层原理是什么、有哪些坑要避开。读完之后,你会建立一套清晰的选型思维,再也不用靠感觉瞎选了。


一、String:看似简单,其实最容易用错

String是Redis里最基础的数据类型。很多人觉得String就是存字符串的,其实它能做的事情远超想象——可以存字符串、存数字、存序列化对象,还能做原子计数器、分布式锁。

场景1:计数器

问题场景:电商网站需要统计商品浏览量,每次用户访问商品详情页,浏览量+1。

用MySQL直接UPDATE?每次访问都写数据库,QPS一高数据库先扛不住。用Redis的String来做这件事就对了。

# 初始化或增加浏览量INCR product:view:10001# 一次性增加

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询