ホームページ  >  記事  >  データベース  >  Redis はアトミック操作をサポートしていますか?

Redis はアトミック操作をサポートしていますか?

anonymity
anonymityオリジナル
2019-06-04 16:30:343673ブラウズ

理論的知識:

Redis は、高性能のキー/値データベースです。 Redis の出現により、memcached などのキー/値ストレージの欠点が大幅に補われ、状況によってはリレーショナル データベースに対して非常に優れた補完的な役割を果たすことができます。 Java、C/C、C#、PHP、JavaScript、Perl、Object-C、Python、Ruby、Erlang およびその他のクライアントを提供しており、非常に使いやすいです。

アトミシティ (原子性) : トランザクションは分割できない最小の作業単位であり、すべてが成功するかすべてが失敗します。

Redis はアトミック操作をサポートしていますか?

#アトミック操作とは、ビジネス ロジックの 1 つが分割不可能である必要があることを意味します。

たとえば、他の人にお金を送金すると、あなたのアカウントからお金が差し引かれ、他の人のアカウントにお金が追加されます。このビジネス ロジックはアトミックであり、この操作はアトミック操作です。成功か失敗か。

Redis でのすべての単一コマンドの実行はアトミックです。

#redis トランザクション実装の原則

1. バッチ操作は、EXEC コマンドを送信する前にキュー キャッシュに入れられます

2。受信済み EXEC コマンドの後にトランザクションの実行を開始します。トランザクション内のコマンドのいずれかが実行に失敗した場合、残りのコマンドは実行されません。

3. トランザクションの実行プロセス中、他のクライアントによって送信されたコマンド要求は受け付けられません。トランザクション実行コマンドシーケンスに挿入されます。

以上がRedis はアトミック操作をサポートしていますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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