仅当redis队列包含任何数据时才从其读取数据

时间:2017-03-06 08:36:24

标签: java redis stream queue streaming

我有一个redis队列让我们说“TestQueue”。

目前,我一直在queue不断考虑queue是否包含数据,而不是根据我的下面的代码。

private void startStreaming() {
        JedisConnectionManager redis = new JedisConnectionManager();
        Jedis jedis = redis.getJedisConnection();
        while (true) {
            List<String> redisData = jedis.brpop(0, new Constants().getRedisBackupQueue());
            String query = redisData.get(1);

            LOGGER.info("data received from redis backup queue: " + query);
            writeToCassandra(query);
        }
    }

我想要完成的是,我想只在队列包含一些数据时才弹出(例如某种生产者 - 消费者问题)。

如何更好地为我的用例提供上述代码。

0 个答案:

没有答案