sadd
を使用してセットにメンバーを挿入すると、データが挿入される確定的な方法がありますか?例えば 、Iは「スタックオーバーフロー」を挿入したとき、それは、前のクエリのように最後のインデックスの代わりに、インデックス2に示されている「ハロー」、見えることができるようスミス:挿入順序はどのように決定されますか?
127.0.0.1:6380> smembers test
1) "hello world"
2) "hello"
3) "hello world 1234212"
4) "hello world 123"
127.0.0.1:6380> sadd test "aman"
(integer) 1
127.0.0.1:6380> smembers test
1) "hello world"
2) "hello"
3) "hello world 1234212"
4) "hello world 123"
5) "aman"
127.0.0.1:6380> sadd test "stack overflow"
(integer) 1
127.0.0.1:6380> smembers test
1) "hello world 1234212"
2) "hello world 123"
3) "hello world"
4) "aman"
5) "stack overflow"
6) "hello"
。その行動の説明はありますか?
「決定的でない」という意味ですか?同じメンバーセットでスムーマーを使用すると、メンバーは常に1つの順序でメンバーを返します。だから、新しいメンバーを追加すると、注文が変わるかもしれないし、物事がシーンの後ろで変化していることを理解しようとしている。 –
私は決定論的な意味を持っていました。ハッシュテーブルの動作やバケットの衝突などを理解するためにハッシュテーブルを読んでいました。次に、Redisには、Hashの2つの異なるエンコーディングがあることに注意してください(サイズと設定の指示に応じて、どちらか一方を使用することができます)。 –