【问题标题】:apc cache compressionapc缓存压缩
【发布时间】:2011-02-14 23:18:52
【问题描述】:

我想存储一些键值。 我看到 memcache api 支持动态压缩: memcache_set(obj, var, value, MEMCACHE_COMPRESSED, ttl)

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 );  
}

【问题讨论】:

    标签: php apc


    【解决方案1】:

    APC 目前不支持压缩。

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

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

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

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

    【讨论】:

    • 我只是想确保我在 APC 进行压缩之前不进行压缩。事实并非如此。如果我有可用的内存缓存,我会关闭我的压缩并使用它的压缩。
    猜你喜欢
    • 2010-09-18
    • 1970-01-01
    • 2023-03-14
    • 2010-11-12
    • 2011-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-10
    相关资源
    最近更新 更多