ホームページ >バックエンド開発 >PHPチュートリアル >データクエリはmemcacheキャッシュとSQLで作成されたキー値を使用します。ページングデータは変更されません。
データクエリはmemcacheキャッシュを使用し、SQLによって作成されたキー値を使用し、データがない場合はSQLが変更され、再クエリされ、キャッシュされます。ローカルでは問題ありませんでしたが、今後、どのようなパラメータを渡しても、それに応じてSQLが変更されますが、変更されたキー値に基づいて取得されるデータリストは変更されません。考えられる理由を教えてください
どのように????
文字列を検索する場合は検索できませんので、次のコードを確認してください。
自分で追加したかどうかを確認してください。
ページングのないサーバー データは少数しかありませんか?その結果、各ページのデータは同じになります。 。
キーコードを投稿してください。
え?
文字列を検索する場合は検索できませんので、次のコードを確認してください。
これらを自分で追加するかどうかを確認してください。
キーコードを投稿してください。
$sql = "select id,avg_point,name,xpoint,ypoint,agent_area_id,area_id,supplier_id,index_img,dp_count,avg_point,deal_cate_id,ratio,area_id,note from aa where 1 = 1 and is_effect=1 and city_id in (18,1) order by id DESC limit 0,15"; $key = $GLOBALS['append_config']['IOS_CACHE_PRE'].$sql; $info = mcache_get($key); if(!$info){ $info = $GLOBALS['db']->getAll($sql); mcache_set($key,$info); }各クエリの条件に応じて生成される SQL は異なりますが、SQL が異なる限り、毎回キー値としての SQL が異なっていても、データは再取得されます。再取得されていません
$sql md5 を置くだけですか?
memcache キーにはある程度の制限があります。
$sql = "select id,avg_point,name,xpoint,ypoint,agent_area_id,area_id,supplier_id,index_img,dp_count,avg_point,deal_cate_id,ratio,area_id,note (1 = 1、is_effect=1、city_id in aa) 18,1) ID による順序 DESC 制限 0,15";
$key = md5($GLOBALS['append_config']['IOS_CACHE_PRE'].$sql);
$info = mcache_get($key);
if( !$info){
$info = $GLOBALS['db']->getAll($sql);
mcache_set($key,$info)
}
含まれていないサーバー データはいくつかありますか?ページング、ああ?その結果、各ページのデータは同じになります。 。
大量のデータをページングする必要があります キー
----
memcached によって保存されたデータは、キーを使用して識別されます
キー
は、クライアント
のデータを一意に識別する必要があるテキスト文字列です。現在、キーの
の長さ制限は 250 文字に設定されています (もちろん、通常、クライアントはそのような長いキーを使用する必要はありません)。キーには
制御文字や空白を含めることはできません。
Baidu 翻訳:
memcached に保存されたデータはキー値によって識別されます。キー
は、保存および取得の対象となる顧客データ
を一意に識別する必要があるテキスト文字列です。現在、
キーの長さの制限は 250 文字です (もちろん、通常、
クライアントは長いキーを使用する必要はありません)。キーには
制御文字やスペースを含めることはできません。
明らかにルールに違反しています
MD5 から始めましょう。