ホームページ  >  記事  >  バックエンド開発  >  mysql の MEMORY エンジンが redis ほど広く使用されていないのはなぜですか?

mysql の MEMORY エンジンが redis ほど広く使用されていないのはなぜですか?

WBOY
WBOYオリジナル
2016-09-02 08:57:051040ブラウズ

多くの人が、mysql の MEMORY エンジンを使用するよりも、redis を使用して json にデータを保存したいと考えているようですが、それはこのエンジンのパフォーマンスが悪いためでしょうか、それとも他の理由でしょうか?国内のオープンソース プロジェクトの一部は基本的にこのエンジンを使用していないことがわかりました。これはなぜですか?

返信内容:

多くの人が、mysql の MEMORY エンジンを使用するよりも、redis を使用して json にデータを保存したいと考えているようですが、それはこのエンジンのパフォーマンスが悪いためでしょうか、それとも他の理由でしょうか?国内のオープンソース プロジェクトの一部は基本的にこのエンジンを使用していないことがわかりました。これはなぜですか?

  1. 多くの場合、保存されるデータ形式はより複雑なので、KV 形式で保存してから、解析しやすい JSON 形式で保存する方が便利です

  2. 信頼性の点では、redis の方が優れています - MySQL のメモリ テーブルは停電後にデータを失いますが、redis の方が優れています

まず第一に、redis は mysql よりも数桁高速です。
つまり:
1. データ量が多すぎない && データ量は頻繁にアクセスされるため、redis に置く方が良いです。 ここでのデータ量は、redis サーバーのメモリ サイズを指します。データの量が Redis サーバーのメモリ サイズよりも小さい場合は、それを Redis に配置することを検討できます。

2.Redis へのアクセスは mysql よりも簡単です。

まず MySQL のメモリ エンジンを理解しましょう

リーリー

Unsupport の数を見てください。

Redisとの比較に戻って、3つのポイントについてお話しましょう

  1. Mysql のメモリ エンジンは、expire_date をサポートしていません。手動で削除する必要がありますか?

  2. データを保存する前に、テーブルを作成する必要があります。データが行と列になく、順序付けされていない場合はどうすればよいですか?

  3. フロントエンドに JSON 文字列を返していますか、それともデータベースから取り出したシリアル化された Model クラスを返していますか?それなら、Redis から JSON 文字列を取得して直接返すだけではどうでしょうか。

もちろん、Mysql のメモリ エンジンでも上記のことを行うことができますが、痛みの指数が大幅に増加しているため、上記のシナリオにはあまり適していません。ハサミを使って木を切ることはできませんよね。切り詰めることはできますが。

より深い原子性、0 - 0の比較については、ゴーヤとリンゴの甘さを比較するので、このものの外観について議論する時期ではないと思いますか?

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。