Django电商项目完整笔记|完整电商项目--(六)商品模块(8)(用户浏览记录)


文章目录

  • 用户浏览记录介绍
  • [redis 数据类型选择(文档)](http://redisdoc.com/list/lrem.html)
  • redis存储逻辑
  • 读取数据命令

用户浏览记录介绍
  • 我们记录用户的最多五条 浏览历史商品记录,并呈现
  • 使用redis 作为存储
redis 数据类型选择(文档)
  • 需求分析
    • 我们需要 保存每个用户五条浏览记录,且要知道该用户是谁
  • 数据类型选择:
    • 采用 list 类型实现
    • 存储格式:history_user_id’ : [sku_id_1, sku_id_2, …]
redis存储逻辑
  • 首先需要去重
    • 加入已经存储了 [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)(用户浏览记录)
文章图片

读取数据命令 Django电商项目完整笔记|完整电商项目--(六)商品模块(8)(用户浏览记录)
文章图片

【Django电商项目完整笔记|完整电商项目--(六)商品模块(8)(用户浏览记录)】很简单,就是使用redis存储浏览记录。

    推荐阅读