方案1
第一步:用hash结构将商品列表存储
第二步:按照分类用list结构存商品id:这样可以右边push进去,左边取,能达到分页的效果
第三步:从list拿出的商品id之后从hash中取出你要的商品列表
问题是:商品发生变化每次都要更新对应的分类list
方案2
第一步:也是用hash结构将商品列表存储
第二步:按照分类用zset结构存储商品id:因为zset本身是可以排序的,可以直接按你指定的顺序取出,能达到分页的效果
第三步:从set中拿到商品id然后从hash中取出你要的商品列表
问题是:可以单独删除一个id,但是好像避免不了每次都从新全部刷新对应的分类set
方案3
第一步:直接根据分类用zset结构存储商品,并指定商品顺序,这样就不用每次都从从hash中找商品了
问题是:分类属性有交集的可能,浪费的是redis的存储空间