Redis 之 常见问题

1.Redis做异步队列

一般使用list结构作为队列,rpush生产消息,lpop消费消息。当lpop没有消息的时候,要适当sleep一会再重试。
127.0.0.1:7003> rpush key 1
(integer) 1
127.0.0.1:7003> rpush key 2
(integer) 2
127.0.0.1:7003> rpush key 3
(integer) 3
127.0.0.1:7003> lrange key 0 -1
1) "1"
2) "2"
3) "3"
127.0.0.1:7003> lpop key
"1"
127.0.0.1:7003> lrange key 0 -1
1) "2"
2) "3"

缺点:

在消费者下线的情况下,生产的消息会丢失,得使用专业的消息队列如rabbitmq,等。

2.Redis生产一次消费多次

使用pub/sub主题订阅者模式,可以实现1:N的消息队列。

3.Redis实时消息推送

redis开启key失效推送,将需要推送的userid和推送信息作为key存入redis,从现在到推送时间作为可以、
有效期。开个客户端监听key失效信息,推送对应key。

java代码实现

发布了200 篇原创文章 · 获赞 13 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/u013919153/article/details/105617342
今日推荐