出于同样的原因,在一个应用程序中同时使用NoSQL和RDBMS是有意义的,对我来说,除了NoSQL缓存之外还有一个RDBMS缓存也是有意义的。
我在考虑对所有使用内存引擎的表使用MySQL服务器。
对这种方法有什么警告吗?
为了清楚起见,我在这里建议仅将MySQL服务器用于缓存目的,而不是用于应用程序的实际数据存储。
发布于 2011-07-22 21:20:02
内存表完全存储在内存中,因此速度非常快。
它使用散列索引,这也是非常快的,非常适合用于临时表和查找。
内存表具有表级锁,因此如果需要并发,这将是一个问题
无交易记录
当服务器关闭或崩溃时,所有行都会丢失
尽管表的定义保持不变,但数据将会全部消失。
您可能想要查看official documents on the Memory Engine
编辑:
内存存储引擎是用于缓存目的的一个很好的候选。
以下是内存引擎适用的几个方面:
当内存表持续存在时(如果您需要),
CREATE TEMPORARY TABLE )这里有一些负面的东西:
总而言之,如果你需要缓存,内存引擎应该是最好的选择。
发布于 2011-07-22 21:24:28
另一个原因是,
与磁盘空间相比,RAM是非常有限的,
你可以有高达to的磁盘驱动器,
但是很难让内存上升到to级
发布于 2011-07-22 21:40:59
如果你得到了$$,关于MySQL和InnoDB功能的following article将会引起人们的极大兴趣。
它的性能优于任何类型的缓存、内存引擎或memcached。缺点是-它需要内存,很多内存。
https://stackoverflow.com/questions/6790520
复制相似问题