如何在ServiceStack Redis Client中清除所有类型X的实例

时间:2012-05-28 21:01:38

标签: redis servicestack

我想清除Redis Db中的所有X实例进行测试。但我找不到redisClient.As()。CLEAR()方法?如何清除所有X实例?

我可以使用

添加X实例
var client=new PooledRedisClientManager(ConfigurationManager.AppSettings["RedisServer"]).GetClient();
X x=new X();
client.As<X>().Store(x);

所有x实例都作为urn添加到Db:X:x.id pattern。

3 个答案:

答案 0 :(得分:1)

如果您使用的是RedisNativeClient类,则可以使用此方法删除特定键:

 public int Del(string key)

如果要删除所有键,可以使用*作为键调用Del

你也有这些方法:

 public void FlushDb()
 public void FlushAll()

如果您使用的是RedisClient类,则可以使用以下方法:

 public bool Remove(string key) // Again i guess you can use the * for delete all keys

答案 1 :(得分:1)

IRedisTypedClient实现了具有DeleteAll()方法的通用IBasicPersistenceProvider<T>接口。所以你所追求的只是:

client.As<T>().DeleteAll();

对于更细粒度的删除选项,您还有:

client.As<T>().DeleteById(id);
client.As<T>().DeleteByIds(ids);

答案 2 :(得分:0)

client.As()DeleteAll();

我认为命名“删除”是为了关系。

User.Cars.Remove(“Red Car”)

如果要删除对象“删除”:)

删除(“红车”)

它不起作用。我变得很奇怪{“'del'命令的参数数量错误,sPort:19570,LastCommand:”}错误。

相关问题