私のコードの一部
var redislist = client.As<MyModel>().Lists["key_of_list"];
var m = redislist.SingleOrDefault(p => p.member_id == request.member_id);
m.email = request.email;
ご覧のとおり、アイテムmがあり、アイテムを更新することもできます。質問は、それを更新してredisリストに保存したい場合、次にどのように行うかです。
それを削除して、次のような新しいアイテムを追加する必要があります
redislist.Remove(old_item);
var new_item = new MyModel();
new_item.email = request.email;
redislist.Add(new_item);
ところで、redis.appendとredis.addの違いは何ですか?
いいえ、アイテムを削除および追加する代わりに、IRedisTypedClient<T>.SetItemInList
内部でlset
コマンドを使用するwhichを使用する必要があります。
一方、set (i.e. setting a key with some value overwriting it if it exists) and
append`を使用した追加はほとんど同じですが、重要な違いがあります(Redisの公式ドキュメントとは異なります)。
キーがすでに存在し、文字列である場合、このコマンドは文字列の最後に値を追加します。キーが存在しない場合は、空の文字列として作成および設定されるため、この特殊なケースではAPPENDはSETと同様になります。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加