我在ServiceStack.Redis中有一个列表,我想设置一个TimeSpan使它过期。
换句话说,如何在ServiceStack.Redis中调用以下redis命令
EXPIRE ListId ttl
我想要的方法是:
client.Lists(listId, timespan);
我的问题有解决办法吗?
答案 0 :(得分:2)
使用IRedisClient和IRedisNativeClient上的新Custom和RawCommand API,您现在可以使用RedisClient发送您自己的可以调用adhoc Redis命令的自定义命令:
public interface IRedisClient
{
...
RedisText Custom(params object[] cmdWithArgs);
}
public interface IRedisNativeClient
{
...
RedisData RawCommand(params object[] cmdWithArgs);
RedisData RawCommand(params byte[][] cmdWithBinaryArgs);
}
这些自定义API采用灵活的object []参数,该参数接受任何可序列化的值,例如: byte [],string,int以及任何用户定义的复杂类型,它们透明地序列化为JSON并通过线路以UTF-8字节发送。
Redis.Custom("SET", "foo", 1);
<强>结果:强>
client.Custom("EXPIRE", "list-id", "100");