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

posted @   风筝上的猫  阅读(390)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示