PHP高効率ファイルキャッシュクラスFCAche


自分が使っているアリクラウドの低配置は、最近アクセスがよく、mysqlの崩壊の問題がよく発生しています.請求書はメモリを追加してくださいと言っていますが、この返事は直接「お金を払ってください」と言ったほうがいいです.
そこでgitでphpのファイルキャッシュを探して、すべてキャッシュを1つのキャッシュファイルに置くことを発見しました!!!次のことを意味します.
1.どんなに大きなデータを読み取っても、ディスクからファイル全体をメモリに読み出し、解析してデータの一部を取得する必要があります.
2.キャッシュデータが大きい場合、キャッシュがウェブサイトのアクセスを加速させる目的を果たすことができず、同時にディスクの読み書き負荷を増加させる.
3.ある臨界点では、データベースよりもキャッシュのパフォーマンスが低下する可能性があります.
4.厳格なテストを経ていない場合、個人は一般的なウェブサイトのデータが100 M以上に達すると予想し、アクセスするたびに100 Mのデータを読み取り、解析する必要がある場合、性能は非常に低い.
これらのオープンソースプロジェクトを書いた作者は書き終わった後、自分はきっと関連する時間テストをしていないと感じて、私自身もテストをしていませんが、そこで自分で自分の需要によってfcacheを書きました.inc.php、gitに載せました(https://github.com/hustcc/php-file-cache )
PHP File Cache, Used to instead of memcache in Host which can not install memcache.
1.one cache, one file, reduce calculate of key and value, to gain hign performaance.
2.simple api to use. similar with memcache.
使いやすい、デモ
<?php
require_once('fcache.inc.php');
//example
$cache = new FCache();
$storeData = array(
      'time'   => time(),
      'str' => 'test',
      'int'   => 1321
);
$cache->add('select * from table;', $storeData);
$cache->add('select * from table;', $storeData);
$cache->add('select * from table;', $storeData);
$cache->add('select * from table;', $storeData);
print_r($storeData = $cache->get('select * from table;'));
$cache->delete('select * from table;');
print_r ($cache->get('select * from table;') ? 'exist': 'has no cache');
$cache->add('select * from table1;', 123);
$cache->add('select * from table2;', 234);
$cache->add('select * from table3;', 345);
$cache->flush();
print_r ($cache->get('select * from table3;') ? 'exist': 'has no cache');
?>
        ,   ~Enjoy~

自分のサイトで1週間使ってましたが、問題ありません!
http://50vip.com/ 
http://www.atool.org/ 
他にご要望がございましたら、お返事ください~Enjoy~