memcached用例

时间:2011-01-12 18:45:42

标签: mysql memcached

使用带有mysql DB的memcached会有什么用处。我猜想随着时间的推移数据变化不大会有好处。

更具体地说,如果我的数据经常更改,那么不值得使用memcached吗?

更具体地说,我正在尝试将DB用作多人游戏的数据结构。因此,随着玩家的每一步动作,记录都会发生变化。所有玩家的观点都应该用最新动作进行更新。所以我的应用程序正在进行读写密集。试着看看我能做些什么。如果我使用memcached,每次写入我们最多读3次,因为最多4个玩家可以一次玩游戏。

感谢。

帕乌

3 个答案:

答案 0 :(得分:1)

用例:包含大量产品的网上商店。这些产品分配到各种页面,每个产品用户可以查看某些规格。使用“getSpec”函数调用规范。这很昂贵,每次查询。

如果我们把这些放在memcached中,它会更快。每当有人更改产品的某些内容时,您都会更新memcached。

所以如果您的数据发生变化,它仍然值得!并非一切都可能立即改变。

编辑:在你的情况下,你可以让你的写也更新memcached:没有过时的缓存。但这只是一个随意的想法,我不知道是否让你的写作更重,那样有任何不利因素。这实际上意味着你从memcached运行所有东西,并且只是将你的数据库用作一种备份:)

答案 1 :(得分:1)

缓存是速度和(可能)陈旧数据之间的权衡。您必须根据自己的使用情况确定速度增益是否合适。

我们缓存所有不需要实时数据的内容。通常缓存的一些事情:报告,用户内容,整个页面(尽管您可以考虑通过其他系统将这些缓存到磁盘)等。

我们的API允许客户查询大量数据。我们使用memcached来存储它,以便在客户端快速分页。

如果您提前计划,可以将应用程序设置为缓存大部分内容,并根据需要使缓存部分无效(例如,更新数据库中的某些数据时)。

答案 2 :(得分:0)

这将取决于“经常”的频率和应用程序的繁忙程度。例如,如果您有一个每小时更改一次的数据,但每小时查询数据500次,那么即使它相对频繁地更改,也可能会对其进行缓存。

相关问题