Memory
1、Memory不支持行锁只只支持表锁,所以在进行并发操作的时候会导致大量的阻塞,效率低。
2、数据库重启,会导致内存中的数据全部丢失,不可靠。
Redis
1、可以通过RDB,AOF持久化数据,可靠性高
mysql缓存失效
1、SQL语句不一致
2、不确定时,如now(),uuid()
3、不使用任何表查询语句,如select ‘A’
4、查询mysql,information_schema或performance_schema数据库中的表时
5、表中的数据或者表结构进行了更改,如insert、update、delete、truncate、alter table、drop table、drop database
6、当某个表正在写入数据,则这个表的缓存将会处于失效状态
7、在存储的函数,触发器或事件的主体内执行的查询