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