Django电商项目完整笔记|完整电商项目--(六)商品模块(8)(用户浏览记录)
文章目录
- 用户浏览记录介绍
- [redis 数据类型选择(文档)](http://redisdoc.com/list/lrem.html)
- redis存储逻辑
- 读取数据命令
用户浏览记录介绍
- 我们记录用户的最多五条 浏览历史商品记录,并呈现
- 使用redis 作为存储
- 需求分析
- 我们需要 保存每个用户五条浏览记录,且要知道该用户是谁
- 数据类型选择:
- 采用 list 类型实现
- 存储格式:history_user_id’ : [sku_id_1, sku_id_2, …]
- 首先需要去重
- 加入已经存储了 [1,2], 此时再次插入2, 不能是【2,1, 2】,所以要使用去重
- 保存
- 截取list:
- 只有五个数据,每次都需要截取,超过长度5的部分就不需要了
- 管道执行,提高性能效率
# 保存用户浏览数据
redis_conn = get_redis_connection('history')
pl = redis_conn.pipeline()
user_id = request.user.id# 先去重, 0 表示去除所有的相同元素
pl.lrem('history_%s' % user_id, 0, sku_id)
# 再存储
pl.lpush('history_%s' % user_id, sku_id)
# 最后截取
pl.ltrim('history_%s' % user_id, 0, 4)
# 执行管道
pl.execute()
这样就可以了。需要的时候只需要执行查询就可以了
文章图片
读取数据命令
文章图片
【Django电商项目完整笔记|完整电商项目--(六)商品模块(8)(用户浏览记录)】很简单,就是使用redis存储浏览记录。
推荐阅读
- django-前后端交互
- 17|17 关山松 第二课作业#公众号项目# D20
- RxJava|RxJava 在Android项目中的使用(一)
- Hacking|Hacking with iOS: SwiftUI Edition - SnowSeeker 项目(一)
- 靠QQ月入上万灰色暴利偏门的项目
- spring|spring boot项目启动websocket
- vuex|vuex 基础结构
- 内容平台做电商的三个优势
- 区块链开发平台(以太坊)
- 如何在手机上查看测试vue-cli构建的项目