使用redis缓存,实现用户最近浏览的商品列表
1、最近浏览的记录一定需要失效时间
确保使用缓存。 可以为缓存设置过期日期。 最多设定为一个月,这就足够了。 使用mysql等数据库时,还需要清除计划任务,这显然是不现实的。
2、最近阅读的记录必须有个数限制,不能记录所有的阅读记录
当前使用的主流缓存有两种类型: memached和redis,redis对LTRM进行了修剪,以确保存储的浏览数量。
3 )在哪里需要添加保存、浏览商品的方法
用户最近浏览的商品,一定是再次用户最近打开商品详细页面时浏览的;
4 )如何保证每次添加的已浏览商品列表按浏览优先级排序?
每次用户浏览商品的ID可以将用户的ID作为key、List作为value保存在redis中,但List有秩序,并且使用LRANGE时保证了先进先出、后进先出的原则,排在最前面
5 )如何避免用户在连续浏览同一商品时重复保存商品?
使用redis的LREM,可以从列表中删除与参数value (此商品ID )相等的元素。 同时使用Lpush重新插入列表插入最新的阅读商品;
6、读取缓存时,该如何保证分页?
redis的LRANGE可以指定获取指定长度的元素来满足需要;