all in nail 缓存缓存不一致 缓存 缓存不一致 1、基本使用方式 data = queryDataRedis(key); if (data ==null) { # 缓存查询不到,从MySQL做查询 data = queryDataMySQL(key); if (data!=null) { # 查询完数据后更新MySQL最新数据到Redis updateRedis(key, data); } } 上面这个读取数据的逻辑基本没什么问题,关键是写入时候的处理方式 一般有以下几种做法: 更新数据库后更新缓存更新数据库前更新缓存更新数据库后删除缓存更新数据库前删除缓存