java 上新功能

需求:有商品上新时显示NEW标签。点击查看上新后,后面在进入不需要再展示上新。只有第一次进来显示上新标签。

举例:添加新商品时,前端显示显示「NEW」红点标签
开发思路:一个上新标识对应多个用户,使用Redis中HashMap
1.新商品上新时,删除所有缓存,默认不存在所有用户显示上新
2.用户首次进入,查询缓存,存在:不显示上新,不存在:显示上新。

1.添加新商品时,说明有新装扮上新。删除之前新商品的上新缓存

//直接根据redis 的key 把map给删除了
 redisTemplate.delete("new_avatar")

2.用户首次进入,查询缓存,存在:不显示上新,不存在:显示上新。

Boolean aBoolean = redisTemplate.opsForHash().hasKey("new_avatar", tlId);
if (aBoolean) {
    
    
    //存在:不显示上新
    builder.isNewAvatar(false);
} else {
    
    
    //不存在:显示上新,说明是首次进来,加入缓存
    builder.isNewAvatar(true);
    redisTemplate.opsForHash().put("new_avatar", tlId, "");
     redisTemplate.expire("new_avatar",184,TimeUnit.DAYS);
}

猜你喜欢

转载自blog.csdn.net/sinat_36891648/article/details/132604614
今日推荐