如何在StackExchange.Redis中使用Queue

时间:2015-06-18 03:22:56

标签: stackexchange.redis

我对如何在StackExchange.Redis中使用Queue感到困惑。 我尝试下载源代码并检查文档。 我还是找不到如何使用它。

请给我一些建议。

非常感谢。

1 个答案:

答案 0 :(得分:7)

Redis通过LPUSH,LPOP,RPUSH和RPOP命令支持队列和堆栈。只需在列表中调用正确的操作即可。下面是队列和堆栈的示例实现作为参考。下面的代码中的“连接”只是ConnectionMultiplexer的一个实例

    static class RedisStack
    {
        public static void Push(RedisKey stackName, RedisValue value)
        {
            Connection.GetDatabase().ListRightPush(stackName, value);
        }

        public static RedisValue Pop(RedisKey stackName)
        {
            return Connection.GetDatabase().ListRightPop(stackName);
        }
    }

    static class RedisQueue
    {
        public static void Push(RedisKey queueName, RedisValue value)
        {
            Connection.GetDatabase().ListRightPush(queueName, value);
        }

        public static RedisValue Pop(RedisKey queueName)
        {
            return Connection.GetDatabase().ListLeftPop(queueName);
        }
    }