1

redisの調査を開始しました。

Redisはシングルスレッドプロセスです。

これは、すべての操作(hset、hgetなど)がシリアルな性質で実行されることを意味しますか?つまり、次の操作を使用します。

hset foo:bar name 'Redis'
hget foo:bar name

hgetはhsetの後にのみ実行されますか?

4

1 に答える 1

3

はい、Redis インスタンスはシングルスレッドです。すべての基本操作はアトミックでシリアル化されています。Redis では同時実行性はありますが、並列性はありません。

あなたの例では、 hset の後に hget が常に実行されることが保証されています。

また、Redis 接続で複数のクエリを送信すると、応答がまったく同じ順序で返されるという保証もあります (つまり、Redis はプロトコル パイプラインをサポートしています)。

Redis インスタンスへの特定の接続にのみ当てはまることに注意してください。データが複数のインスタンスで分割されている場合、複数の接続が使用され、異なる接続で送信されたクエリ間でそのような保証はありません。

于 2012-04-24T13:02:28.590 に答える