如何在ServiceStack.Redis中设置TTL以列出值?



我在ServiceStack.Redis中有一个列表,我想设置一个TimeSpan来使其过期。
换句话说,如何在ServiceStack.Redis中调用以下redis命令。

EXPIRE ListId ttl

我想要的方法是:

client.Lists(listId, timespan);

我的问题有什么解决方案吗?

借助 IRedisClient 和 IRedisNativeClient 上的新自定义和 RawCommand API,您现在可以使用 RedisClient 发送自己的自定义命令,这些命令可以调用临时 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[]、字符串、int 以及任何用户定义的复杂类型,这些类型透明地序列化为 JSON 并以 UTF-8 字节的形式通过网络发送。

Redis.Custom("SET", "foo", 1);

结果:

client.Custom("EXPIRE", "list-id", "100");

请参阅 ServiceStack github

最新更新