14

REDIS DB についていくつか質問があります。

  • データの整合性を確保するにはどうすればよいですか?
  • 完全性を保証する方法はありますか?
  • Redis は主キーですか? または代替
  • 外部キー?
  • 参照整合性?
  • ACID プロパティはどのように実装されますか?

可能なフィードバックをありがとう

よろしくお願いします - SB -

4

2 に答える 2

22

Redis は、リレーショナル データベースではなく、強力なキー/バリュー ストアです。

データの整合性を確保するにはどうすればよいですか? 完全性を保証する方法はありますか?

Redis は、「安全ではないが非常に効率的」から「安全だがあまり効率的ではない」まで、さまざまな永続化オプションをサポートしています。詳細については、次を参照してください。

Redis は、完全なノード障害が発生した場合にデータを保護するために、マスター/スレーブ レプリケーション メカニズムもサポートしています。

単一の Redis インスタンスは常にデータの一貫性を提供します (ACID の意味ではなく、CAP 定理の意味で)。

Redis は主キーですか? または代替

Redis はキー/バリュー ストアです。すべてのアイテムに鍵が付いています。主キーまたは副キーの概念はありません。

外部キー?参照整合性?

これらは関係概念です。Redis はリレーショナル データベースではありません。外部キーは何の意味もありません (Redis にはテーブルの概念はありません)。参照整合性は Redis によって維持されず、クライアント アプリケーションによって強制される必要があります。

ACID プロパティはどのように実装されますか?

Redis はトランザクション データベースではないため、実装することは想定されていません。Redis にはロールバック メカニズムはありません。ただし、ACID プロパティに関しては、次のようになります。

  • サーバー側のLuaスクリプトを使用して、コマンド群の原子性と一貫性を保証できます
  • 分離は常にコマンド レベルで保証され、MULTI/EXEC ブロックまたは Lua スクリプトを使用してコマンド グループに対しても保証できます。
  • AOF を有効にすると、耐久性を保証できます (体系的な fsync を使用)。
于 2013-02-11T10:42:29.183 に答える