完整电商项目--(六)商品模块(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()

这样就可以了。需要的时候只需要执行查询就可以了
完整电商项目--(六)商品模块(8):用户浏览记录_第1张图片

读取数据命令

完整电商项目--(六)商品模块(8):用户浏览记录_第2张图片

很简单,就是使用redis存储浏览记录。

你可能感兴趣的:(Django电商项目完整笔记,Django,redis,python)