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

用户浏览记录介绍

  • 我们记录用户的最多五条 浏览历史商品记录,并呈现
  • 使用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()

这样就可以了。需要的时候只需要执行查询就可以了
在这里插入图片描述

读取数据命令

在这里插入图片描述

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

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值