当我们使用servicestack类型的客户端
从Redis集中删除项目时redisset = typedclient.Sets["setkey"];
redisset.remove(object1);
它通常会检查object1的每个属性,我们如何定义object1的类来检查哪个属性是否相等?
例如,object1具有这些属性
session_key:"somekey"
session_name:"a name"
author:"Harry"
...
当我们尝试从集合中删除它时,我们只希望它检查session_key是否匹配并忽略其他属性。
我以为我曾经在某个地方看过它,但我再也找不到它了。
答案 0 :(得分:0)
集合中的复杂类型以JSON形式显示。 Redis Operations都没有处理对Redis不透明的blobbed值。您需要遍历客户端上Set中的每个项目,即将其反序列化为对象,检查会话密钥,然后删除匹配的条目。
在服务器上执行此操作的唯一选择是使用自定义服务器端lua脚本将json解析为Lua对象并以此方式检查属性。