mysql内部支持缓存查询吗?

397 阅读1分钟

这个看mysql的版本,mysql5.7是支持的,但现在8.0已经把缓存查询功能删除了。 并且 即使是mysql5.7,缓存功能也是默认关闭的。 至于为什么都不用这个缓存功能,甚至在8.0压根就把他删除了。那就是因为这个玩意非常的鸡肋。 缓存的意思不用多说吧,查到一条数据,就把该数据缓存到内存中,如果下一次sql一样那么就会直接从缓存中取。听着多方便呀。但是!鸡肋的地方来了,他必须要sql语句一模一样才能命中缓存。这里解释下什么是一模一样,就是多一个空格都是不可以的。要完全一模一样。这也是鸡肋地方之一。

鸡肋地方可不止上面一种,还有地方就是。一般对于缓存我们可以对其进行很多地方的操作。但是mysql内部的缓存区,我们对其的操作也就只能开启和关闭。这就很老火了。如果我们修改了某条数据。缓存并没有及时更改,我们也不能手动更改。哦豁,下次查询就g了。命中了缓存的话,就拿到的是旧数据了。就问鸡肋不。可以说是非常鸡肋。

我觉得以上两个原因就足以把这个鸡肋的东西给废除了。

替代方案的话有许多,当然我接触的也就redis,其他的并没有了解。redis相比mysql自带的就是满级大佬屠新手村了。