2010-08-08 94 views
2

这是一个古怪的问题。我知道使用memcached来缓存内存中的“读取重量”数据,但是对写入来说可能还是一样吗?存储MySQL写入内存

例如:您在内存中有一块数据(在memcached中),并且如果您必须对该数据进行任何更改,则将其存储在内存中。在特定时间段(小时或天)结束时,您将所有这些更改复制到MySQL中。因此,您正在使用内存而不是磁盘存储内容,然后在这段时间结束时,这些更改被复制到MySQL时变为永久性。

有没有一款软件可以做到这一点?示例代码可能?

+0

您是否有写入性能问题?你是否优化了你的数据库服务器以获得更好的写入性能?默认配置有一个习惯是不完美的... – 2010-08-08 11:45:08

+0

是的,它的写作优化,我也得到了更好的HD。不过,我想调查此解决方案,作为一种替代方案。 – Rushi 2010-08-10 08:31:14

回答

0

是的,它可以以这种方式来减少I/O过载。

我相信你所描述的是缓存数据的“后写”场景。

实现可以通过创建任务队列和设置工作来完成。

+0

有没有一些软件可以实现这个本地? – Rushi 2010-08-08 10:02:10

+0

我不知道是否有软件可以在本地执行此操作,请让我知道如果您找到一个:D 但是,这可以通过脚本轻松完成,但不要将此技术用于关键数据 – 2010-08-08 10:20:04

1

关键数据不可用,因为memcache不保证数据的一致性。

尽管您可以对会话数据使用这样的行为,并且不需要特殊的软件。只需检索您的数据,修改并保存。

0

也许MySQL Proxy可以用于你吗?我没有尝试过,所以我不知道它是否符合你的要求。