使用redis list作为消息队列

来源:互联网 发布:无线点菜机软件 编辑:程序博客网 时间:2024/06/15 08:31
public String popAnswer() {
return stringRedisTemplate.opsForList().rightPop("zd:answercard");
}

public String bpopAnswer() {
return stringRedisTemplate.opsForList().rightPop("zd:answercard", 0, TimeUnit.SECONDS);

}


// public void listen() {
// while (true) {
// String answercard = answerCardDDao.popAnswer();
// if (answercard == null) {
// try {
// TimeUnit.SECONDS.sleep(2);
// } catch (InterruptedException e) {
// e.printStackTrace();
// }
// } else {
// computeScore(answercard);
// }
// }
// }

public void listen() {
while (true) {
String answercard = answerCardDDao.bpopAnswer();
computeScore(answercard);
}
}


使用bpop命令比使用while轮序的方式更好

原创粉丝点击