一、简介
当server端请求数据时,缓存和数据库都不包含该数据,最终请求压力仍然会涌向数据库。读取步骤:
1>先访问redis,如存在,直接返回;如不存在走2;
2>访问mysql,如不存在,直接返回;如存在走3;
3>将mysql存在的key写回redis;
二、解决方案
1>可以在上面读取步骤的第二步执行完以后向redis端设置<key, null>键值对,从而避免访问mysql,并且给key设置过期时间,保证最终redis会自动清除这些无用的key;
2>在server端存储一个布隆过滤器,将mysql包含的key放入布隆过滤器中,布隆过滤器能够过滤一定不存在的数据,从而避免请求无效数据的连接继续向redis和mysql发送请求。
三、总结
后续继续补充。