老师你好:引用慕友的问题:“在getCachedCoupons这个接口中,通过userid和status向Redis查询优惠券数据,如果查询结果为空,则向Redis缓存中写入一条-1的数据,为什么要这样做呢,按我的理解从缓存中没查到数据不是应该再去查一次MySQL吗,如果MySQL中有数据就写进Redis缓存,如果MySQL中也没有数据才向缓存中写一条-1的数据。因为第一次查询的时候缓存里面肯定是没有数据的,如果因此就直接向缓存中写入-1的数据,那之后再查缓存就能查到-1的数据,就不会再去查数据库了,那这样岂不是永远查不到真实的数据了"跟慕友一样的疑问。
咱这里是 保存空的优惠券列表到缓存中,设置一个无意义的值,
用BloomFilter过滤器 是不是好一些?
先判断元素是否存在,在将数据库的数据添加到布隆过滤器中。
具体还没实现过