私はphpmemcachedクライアントを試していました。phpmemcachedでのset操作の圧縮はデフォルトでオンになっているようです。適度に大きな文字列データを設定しようとしget
ましたが、telnetでコマンドを実行すると、取得した値はプレーンテキストのみでした。memcacheを使用して同じことを行うと、値が文字化け/判読できなくなります。telnetで統計を確認しただけではありません。結果は次のとおりです
memcache - compressed
bytes - 148
memcache - uncompressed
bytes - 285
memcached - uncompressed
bytes - 285
memcached - uncompressed
bytes - 285
ご覧のとおり、php memcacheを使用すると、50%の圧縮率が得られました。したがって、圧縮は実際に機能しました。ただし、php memcachedを使用しても、圧縮は行われませんでした。これは、以下を使用して明示的に圧縮をオンにした場合でも同様です。
$objMemcached->setOption(Memcached::OPT_COMPRESSION, true); //default fastlz compression
OR
$objMemcached->setOption(Memcached::OPT_COMPRESSION, true);
$objMemcached->setOption(Memcached::OPT_COMPRESSION_TYPE, Memcached::COMPRESSION_ZLIB );
これを機能させるには、他のオプションを設定する必要がありますか?私はこのプロジェクトに3週間携わっていますが、圧縮が機能しない場合、上司はmemcacheからmemcachedへのこの移行を受け入れません。私はあなたが緊急性を理解することを望みます;)(kiddnig)。
バージョン:
memcached - 1.4.5
php-memcached - 2.0.1
libmemcached - 1.0.8
助けてください。