如何使用属性作为确定从Redis集中删除项目?

时间:2015-09-07 04:58:12

标签: redis servicestack

当我们使用servicestack类型的客户端

从Redis集中删除项目时
redisset = typedclient.Sets["setkey"];
redisset.remove(object1);

它通常会检查object1的每个属性,我们如何定义object1的类来检查哪个属性是否相等?

例如,object1具有这些属性

session_key:"somekey"
session_name:"a name"
author:"Harry"
...

当我们尝试从集合中删除它时,我们只希望它检查session_key是否匹配并忽略其他属性。

我以为我曾经在某个地方看过它,但我再也找不到它了。

1 个答案:

答案 0 :(得分:0)

集合中的复杂类型以JSON形式显示。 Redis Operations都没有处理对Redis不透明的blobbed值。您需要遍历客户端上Set中的每个项目,即将其反序列化为对象,检查会话密钥,然后删除匹配的条目。

在服务器上执行此操作的唯一选择是使用自定义服务器端lua脚本将json解析为Lua对象并以此方式检查属性。