20,000件のデータを選択し、memcacheのキャッシュ内容を取得し、通常通り表示します。
しかし、memcache キャッシュの内容を取得するために 25000 個のデータを選択すると、結果は bool (false) になります
簡単に言うと、検索結果の内容が大きすぎるため、memcache キャッシュを生成できません。
専門家のご指導をお待ちしております、ありがとうございます。
memcache は古いものを自動的に削除し、新しいものに置き換えます。
コードを上げてください。コードがない場合は、私にハンマーを与えてください
memcache は 1M を超えないようにすることをお勧めします。そうでない場合は、笑
Redis を使用してみてください
コードをアップロードしてください。コードがない場合は、ハンマーを与えてください
//Connect
$mem = new Memcache;
$mem->connect("127.0.0.1", 11211) or die ("接続できませんでした");
print_r($mem->getStats());
$q="select * from Uploadfile"; key=md5($q);
if(!($datas=$mem->get($key)))
{
echo "MySQL
からデータを読み取る"
$rs=$db_oa- >Execute($q);
while (!$rs->EOF)
{
$ss.=$rs->f("fileonsvrname")."
"; ;Movenext();
}
$mem ->set($key, $ss, 0, 20); //set 設定が無効です (問題)
$datas = $mem->get($key);
}
else
{
echo "memcached
からデータを読み取る";
}
var_dump($datas) //出力結果は (Array ([pid] => 1612 [uptime] => 21152) [時間] => 1366094659 [バージョン] => 1.2.6 [カーソル項目] => 2 [バイト数] => 1401127 2 [合計接続数] => 39 [接続構造] => 3 [取得_ヒット数] => [bytes_read] => 14237871 [bytes_writing] = > 21454105 [limit_maxbytes] => 67108864 [threads] => 1 )
MySQL からデータを読み取る
解決に役立つ答えはありますか問題です、ありがとう。 (笑)構築、肯定です、肯定です 1M を超えることはできません
$ss を保存して、1M を超えるかどうかを確認してください
検索を高速化したいだけの場合は、メモリを使用してくださいテーブル。 ENGINE=MEMORY
速度は少なくとも 1 桁高速ですmemcache から必要なコンテンツを取得するのは簡単な作業ではありません
この結果が memcache に格納される理由がわかりません。必要ですか? ? ? ?どのような効率を向上させたいですか?