3

Redis が冪等であることをいくつかの場所で読んだので、 を繰り返し呼び出しSetEntryInHash()ても効果はありませんよね?

を使用する良いケースはありますSetEntryInHashIfNotExists()か? やみくもに呼び出すよりも、これにより迅速な結果が得られますSetEntryInHash()か?

4

2 に答える 2

2

べき等とは、同じアクションを複数回再生でき、同じ副作用があることを意味します。SADDのようなべき等操作のみがべき等です。つまり、それを 1 回または複数回呼び出した後、同じ結果、つまりセット内の 1 つの項目が得られます。

redis リストへの追加、たとえばLINSERTは対照的に、すべての新しいアイテムが新しいアイテムを redis リストに追加するため、べき等ではありません。

ServiceStack の Redis クライアントの操作がどのように実装されているか知りたい場合は、ソース コードを調べてください。SetEntryInHash と SetEntryInHashIfNotExists はこちらです。どちらもそれぞれHSETHSETNXを呼び出します。各操作の動作については、redis のドキュメントを参照してください。

于 2012-10-09T18:24:43.607 に答える