シンプルなので、必要なのはMySQLクエリを実行することです(テーブルからレコードを選択する)。 cronジョブなどを5分ごとに実行し、可能であればこのクエリまたは結果をファイルまたはグローバル変数に保存し、すべてのクライアントに提供します(つまり、すべてのユーザーに同じクエリを使用し、そのデータベースに再接続する必要はありません)。 ) 私はキャッシュの使用を教えてくれる人がいることは知っていますが、私はそれを探しました。テーブルが変更されると新しいキャッシュがあり、テーブルが絶えず変化しています。 、私はちょうどすべてのクライアントに同じクエリを提供したい。 これは可能ですか?あなたのお勧めをお願いします。おかげさまで データベースに再接続することなくすべてのユーザーと同じMySQLクエリを使用する
テーブルが変更されると(挿入、更新、削除など)、キャッシュは自動的に期限切れになります。 テーブルが常に変更されているので、テーブルが変更されてもキャッシュを保存できますか?または私は別の解決策を探すべきですか?しかし
function add() // update, delete
{
if (added) $this->expire_cache();
}
function search()
{
if (results) $this->set_cache(results);
}
function expire_cache()
{
// do expire or purge cache
}
function set_cache($db_results)
{
// saving the database result OR computed result into cache
// memcache, redis, disk cache or anything
}
:
あなたは常に各アクション例えば
後にキャッシュexpireationを置くことができ
キャッシュソリューションを検討しましたか?繰り返し同じクエリを実行する – hd1
は珍しいことではありません - あなたは特定の問題がありますか? mysqlはデフォルトでいくつかのキャッシングを行っています。 –
さて、私はすでに私の質問に言及しましたが、私が言ったように、私のテーブルは絶えず変化しており、テーブルが更新されていればキャッシュは削除されます。 – user1852196