6

私は、データベースを適切にキャッシュする方法と、何をすべきか、何をすべきでないかを理解しようとしています。これまでのところすべてを正しく理解していることを確認したいのですが。多分あなたは私を助けることができますか?

現在、キャッシュはありません。XAMPPを使用してすべてをローカルで実行しています。データを保存するには、MySQL / PHPMyAdminを使用し、データを取得、追加、更新するには、PHPでMysqliクエリを実行するだけです。私が言ったように、私は今のところキャッシュを持っていないので、それを行うための最良の方法を探し始めました。

簡単に検索したところ、Redisが見つかりました。したがって、私の考えは、MySQLを使用してデータを保存し、Redisでキャッシュすることです。これはそれを行うための良い方法ですか、それとも私はすべてが完全に間違っていることを理解しましたか?

私が正しい場合、Redisを実装するにはどうすればよいですか?データをキャッシュするにはどうすればよいですか?PHPで、必要なデータがキャッシュされているかどうかを確認しますか。キャッシュされている場合はキャッシュから取得します。それ以外の場合は、MySQLデータベースから取得します。

私が正しい方向に進んでいるかどうかを本当に知りたいです。

4

1 に答える 1

11

Redis は、組み込みのデータ型のおかげで、単純なキー/値ストレージ以上のことを行うインメモリ データセットを備えたオープン ソース データ構造サーバーです。

あなたの要件が大量のデータをキャッシュすることである場合、あなたはそれを選ぶことができます

キャッシュを実現したいだけの場合は、memcache を使用できます

memcache は、小さなデータ セットを返す低速クエリの格納に適しています [平均行の重みに応じて、1 ~ 50 の結果]

memcache は、大規模なデータ セットを返すクエリではあまり効率的ではありません [100 - ∞、平均行の重みに応じて]

memcache の詳細については、次のリンクを参照してください。

Memcache の概要

php と mysql で memcache を使用する

また、最後になりましたが、重要なことです

Mysql はクエリの結果もキャッシュします。mysql クエリのキャッシュ サイズを増やすことはできますか? または、大きなクエリの結果をスタンドアロン テーブルにキャッシュします。

Mysql クエリ キャッシングの詳細は、SO の投稿の多くで提供されていますが、私が提示するのに最適だと感じたのは、こちらの投稿です。

Mysql クエリ キャッシング

上記のSO投稿はあなたを助けるかもしれません

于 2012-10-03T17:10:33.520 に答える