首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么不像memcached一样使用MySQL?

问为什么不像memcached一样使用MySQL?
EN

Stack Overflow用户
提问于 2011-07-22 21:13:49
回答 3查看 2.1K关注 0票数 4

出于同样的原因,在一个应用程序中同时使用NoSQL和RDBMS是有意义的,对我来说,除了NoSQL缓存之外还有一个RDBMS缓存也是有意义的。

我在考虑对所有使用内存引擎的表使用MySQL服务器。

对这种方法有什么警告吗?

为了清楚起见,我在这里建议仅将MySQL服务器用于缓存目的,而不是用于应用程序的实际数据存储。

EN

回答 3

Stack Overflow用户

发布于 2011-07-22 21:20:02

内存表完全存储在内存中,因此速度非常快。

它使用散列索引,这也是非常快的,非常适合用于临时表和查找。

内存表具有表级锁,因此如果需要并发,这将是一个问题

无交易记录

当服务器关闭或崩溃时,所有行都会丢失

尽管表的定义保持不变,但数据将会全部消失。

您可能想要查看official documents on the Memory Engine

编辑:

内存存储引擎是用于缓存目的的一个很好的候选。

以下是内存引擎适用的几个方面:

当内存表持续存在时(如果您需要),

  • Lookup/mapping tables purposes
  • Sessions management
  • Low
  • 缓存定期添加的数据的结果
  • purposes
  • Sessions management
  • Low data analysis和延迟分析,而不是其他策略(如CREATE TEMPORARY TABLE )

这里有一些负面的东西:

  • 如果该表不支持文本列或BLOB列,则如果发生此类事件,该表将被转换为磁盘缓存上的MyISAM 。
  • 该表不应包含太多数据,因为它占用了原本可以分配给索引/查询高速缓存的资源

总而言之,如果你需要缓存,内存引擎应该是最好的选择。

票数 6
EN

Stack Overflow用户

发布于 2011-07-22 21:24:28

另一个原因是,

与磁盘空间相比,RAM是非常有限的,

你可以有高达to的磁盘驱动器,

但是很难让内存上升到to级

票数 0
EN

Stack Overflow用户

发布于 2011-07-22 21:40:59

如果你得到了$$,关于MySQL和InnoDB功能的following article将会引起人们的极大兴趣。

它的性能优于任何类型的缓存、内存引擎或memcached。缺点是-它需要内存,很多内存。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6790520

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档