RedisのFAQ

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は1回生成し、何回も消費

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

3. Redisリアルタイムメッセージプッシュ

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

Javaコードの実装

元の記事を200件公開 13 件を賞賛・4 万回以上の閲覧

おすすめ

転載: blog.csdn.net/u013919153/article/details/105617342