Redis 用Hash实现简单购物车
先看 Hash 存储结构:
简单画一个购物车
问题引入:
不同的用户的购物车是各用各的;
一个购物车有多个商品;
一个商品有购买数量;
得出:
用户id 作为 key ;
用户所买商品的编号 作为 field ;
对应购买数量 作为 value ;
file 和 value 作为 key 对应的 hash;
操作能否实现:
value 可以拿到做增减,可以设置固定值
file 可以删除,可以全选
hash 可以计算总量,清空,浏览
redis命令简单实现一下
但是!当期设计并没有加速购物车的呈现!
当前仅仅是将数据存储到了redis中,并没有起到加速的作用,商品信息还需要二次查询数据库
- 每条购物车中的商品记录保存成两条field
- field1专用于保存购买数量
- 命名格式:商品id:nums
- 保存数据:数值
- field2专用于保存购物车中显示的信息,包含文字描述,图片地址,所属商家信息等
- 命名格式:商品id:info
- 保存数据: json
当多个人同时买同一个商品,那么商品信息info就会重复加载,所以可以将商品信息(即上边的 file2 单拎出来存储)
使用 hsetnx key file value 命令可以让一种商品只加载一次,有这个信息就不能set,没有才可以set
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~