在PHP.net上,我正在查看Memcache :: set函数,它有这个可选标志来使用压缩...
使用MEMCACHE_COMPRESSED存储压缩的项目(使用zlib).
$memcache_obj->set('var_key', 'some really big variable', MEMCACHE_COMPRESSED, 50);
我很好奇,这会带来什么好处,只是占用更少的空间?这似乎会减慢这个过程的速度?
在运行PHP的服务器上进行压缩和解压缩可以很快 - 取决于您的网络和服务器上的负载,它可以比通过网络向memcached服务器传输更多(非压缩)数据更快.
压缩数据还意味着在memcached服务器上使用更少的内存.
通常,您必须在CPU,网络和RAM之间进行选择 - 您必须考虑您的服务器和网络,其负载和可用资源,以便能够做出决定.
在您的特定情况下,什么是"最快"的解决方案?只有你可以告诉...而唯一的方法就是通过在"真实条件"下测试两种解决方案.
此外,memcached条目不能大于1 MB; 我想,在某些方面,压缩可以帮助将条目大于1 MB (当尚未压缩时)放入memcached中.