【问题标题】:How to set TTL to List Values in ServiceStack.Redis?如何设置 TTL 以列出 ServiceStack.Redis 中的值?
【发布时间】:2017-08-03 06:53:02
【问题描述】:

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

EXPIRE ListId ttl

我想要的方法是:

client.Lists(listId, timespan);

我的问题有什么解决办法吗?

【问题讨论】:

    标签: redis servicestack servicestack.redis


    【解决方案1】:

    借助 IRedisClient 和 IRedisNativeClient 上的新 Custom 和 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[]、string、int 以及任何用户定义的复杂类型,这些复杂类型被透明地序列化为 JSON 并作为 UTF-8 字节通过线路发送。

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

    结果:

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

    ServiceStack github

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-25
      • 1970-01-01
      相关资源
      最近更新 更多