apc缓存压缩

问题描述:

我想存储一些关键值。 我看到memcache api支持即时压缩: memcache_set(obj,var,value,MEMCACHE_COMPRESSED,ttl)apc缓存压缩

apc怎么样? 我找不到任何文档。

我的目标,例如在PHP中:

function cache($key, $value) 
{ 
$data  = serialize($value); 
if (strlen($data) >= 1024) 
    $data = 'z' . gzcompress($data, 1); 
else 
    $data = '=' . $data; 
return apc_store($key, $data, $ttl); 
} 

APC不会在此刻支持压缩。

它可能永远不会,因为它不是apc设计的目的。

APC更像是一个操作码缓存系统,而不是像memcached这样的关键值内存数据库,尽管它可以很好地用于这两个目的。

但是,如果只是存储数据是你的目标,memcached可能是一个更好的选择,因为它的目的和方向将被优化和开发。它还支持分发/缩放/复制/你可以通过网络运行它等。

但是给你一个选择。为什么不直接在应用程序的存储/获取之前/之后直接压缩和解压缩?您可以轻松定义您自己的缓存处理程序。你是如何在你的问题中做到这一点的。我不明白为什么APC应该“即时”执行此操作。我个人更喜欢在应用程序中这样做,以获得更大的灵活性和可扩展性(例如,您可以将其扩展为分发fcgi服务器)

+0

我只是想确保在APC进行压缩之前不压缩。情况并非如此。如果我将有可用的内存缓存,则会打开我的压缩文件并使用它。 – Massimo 2011-02-16 10:49:24