2

PHPでは、次のようなことをしています:

$gzdata = gzencode(json_encode($data), 9);
$mc->set("latest", $gzdata);

連想配列を DB から取得し、JSON に変換して Gzip し、memcache に保存します。

私の Node.js では、memcached エントリを読み取り、それを提供します (クライアントは memcache クライアントです)。

client.get('latest', function(err, response) {
            if (err) { console.log("GET", err.type ); } 
            else{
                result.writeHead(200,{
                    "Content-Type": "application/json",
                    "content-encoding":"gzip"
                });


                result.end(response['latest']);
            }
        });

私は得ています

コンテンツのエンコード エラー

ページ上

表示しようとしているページは、無効またはサポートされていない形式の圧縮を使用しているため、表示できません。

FB のヘッダーを確認することさえできません...何が間違っているのでしょうか?

4

1 に答える 1

1

Memcache クライアントがすでに圧縮を実行できることをご存知ですか?

$memcache_obj = new Memcache;
$memcache_obj->addServer('memcache_host', 11211);
$memcache_obj->setCompressThreshold(20000, 0.2);

これにより、20k を超える値が最小圧縮率 20% で圧縮されます。

以下も参照してください。Memcache::setCompressThreshold

于 2012-12-23T08:37:29.293 に答える