Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 存储临时数据的更好方法是什么[Memcache或MySQL]_Php_Mysql_Memcached - Fatal编程技术网

Php 存储临时数据的更好方法是什么[Memcache或MySQL]

Php 存储临时数据的更好方法是什么[Memcache或MySQL],php,mysql,memcached,Php,Mysql,Memcached,我正在使用PHP。我想在MySQL上存储临时数据。我还有64GB的Memcached服务器。所以,我想使用memcache服务器来存储临时数据。但我怀疑MySQL和Memcached服务器的性能 在MySQL和Memcached之间存储get临时数据的最佳、快速和可靠的方法是什么?答案是……这取决于具体情况。Memcached速度非常快,甚至更好,您可以将多台机器或碎片添加到Memcached池中,或多或少以不可见的方式添加到应用程序中。MySQL有多种存储引擎(可能还有复制引擎),如果需要存储

我正在使用PHP。我想在MySQL上存储临时数据。我还有64GB的Memcached服务器。所以,我想使用memcache服务器来存储临时数据。但我怀疑MySQL和Memcached服务器的性能


在MySQL和Memcached之间存储get临时数据的最佳、快速和可靠的方法是什么?

答案是……这取决于具体情况。Memcached速度非常快,甚至更好,您可以将多台机器或碎片添加到Memcached池中,或多或少以不可见的方式添加到应用程序中。MySQL有多种存储引擎(可能还有复制引擎),如果需要存储数据,它们可以持久化数据

因此,这取决于临时数据的“临时”程度。考虑这个问题的一个好方法是:如果服务器重新启动,您是否关心数据是否存在

如果memcached实例重新启动,memcached shard中的数据将消失,但它的访问速度通常比MySQL表中的数据快得多。MySQL中的数据将更持久,但访问速度会更慢

MySQL确实有一个内存存储引擎。与大多数其他MySQL查找相比,内存存储速度更快,如果服务器或服务重新启动,内存中的数据将消失

如果您选择Memcached和Memcached,通常Memcached是更好的选择(尽管它始终取决于您自己的数据—YMMV)。MySQL内存引擎有严格的大小限制,您需要删减数据,否则可能会碰到数据。使用Memcached,您可能会达到大小限制,但Memcached服务只会开始逐出值,而不是抛出错误。逐出并不是件好事,但至少它们不会导致您需要处理的错误,您通常可以通过观察您的指标并在内容上设置适当的TTL来防止它们