キャッシュ フレームワークと言えば、最も一般的に使用されているキャッシュ フレームワークは memcached と Redis ですが、実際にはそれらの間には違いがあります。
Memcached の誕生
2003 年 5 月、Brad Fitzpatrick は Memcached の最初のバージョンをリリースしました。主に LiveJournal Web サイトのアクセス キャッシュの問題を解決するために生まれたこのバージョンの Memcached は Perl 言語で書かれています。 (推奨される調査: Redis ビデオ チュートリアル )
その後、Anatoly Vorobey は C を使用して Memcached を書き直しました。現在、Memcached は YouTube、Reddit、Facebook などの Web サイトで広く使用されています。
Memcached の誕生といえば、主にリレーショナル データベースのストレージ パフォーマンスのボトルネックが原因でした。なぜなら、21世紀に入り、パソコンの普及に伴い、世界中のインターネット利用者数が急増し、ウェブサイトのアクセス数も増加したからです。
リレーショナル データベースではデータを永続化する必要があるため、ハードディスク IO の書き込み処理が発生し、データの書き込みにボトルネックが発生します。ハードディスクの IO 速度が遅いという問題を解決するために、Memcached はすべてのデータをメモリに保存し、高速なデータの書き込みと読み取りを可能にします。
これは、Memcached がデータをメモリに保存し、永続性を実装していないためでもあります。したがって、停電、再起動、マシンのダウンタイムなどの予期せぬ状況が発生すると、Memcached に保存されているすべてのデータが失われます。 . We Only データベースから再度読み取って、Memcached にロードすることができます。
また、Memcached は単一の Key-Value ストレージのみをサポートしているため、そこに格納されるデータ型は単一であり、多様なビジネス展開に適応できません。
Redis の誕生
Redis が 2009 年 5 月に誕生したのは、まさに上記のストレージ問題のためでした。 Redis の作成者は Memcached に多くの問題があることに気づき、Redis キャッシュ フレームワークを作成しました。
Redis キャッシュ フレームワークでは、最大 6 種類のデータ ストレージをサポートし、複数のアトミック コマンド操作を提供します。また、Redis はローカル ファイルへのデータの永続化もサポートしているため、事故が発生した場合にデータベースからデータを再度読み取る必要がなく、ローカル ファイルを直接読み取って復元できます。
どちらが優れていますか?
2 つのキャッシュ フレームワークの開発履歴から、Redis は Memcached のアップグレード版であることがわかります。 Redis のすべてが利用可能です。
私たちは Redis を優先キャッシュ フレームワークとして使用することがよくあります。もちろん、Memcached は Redis よりもパフォーマンスが優れています。たとえば、少量の完全に静的なキーと値のデータを保存する場合、Memcached の方が優れています。 Redis、もっと速く。
しかし、データの量がわずかに多いか、データが動的である限り、Memcached のパフォーマンスは急激に低下します。
つまり、Memcached にはいくつかの側面で若干の利点がありますが、全体としては、キャッシュ フレームワークとしては Redis の方が依然として Redis よりも優れています。
Redis 関連の技術記事の詳細については、Redis 入門チュートリアル 列にアクセスして学習してください。
以上がmemcached と redis のどちらが優れていますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。