bugu-redis是一个操作Redis的Java类库,它封装了Redis的各种常用功能,简单易用。
bugu-redis的功能包括2大部分:
1、各种Recipe。包括:
-
StoreRecipe:存储
-
CacheRecipe:缓存
-
QueueRecipe:队列
-
StackRecipe:栈
2、MQClient,用于发送消息。
- Queue消息模型,采用生产者/消费者(Producer/Consumer)模式实现。
- 同一个Queue,可以有多个消费者。Queue中的消息,如果被其中一个消费者消费掉了,那么其它的消费者不会接收到该消息。
- 尽管一个Queue可以有多个消费者,但它更常用于一对一消息通信。
- Queue中的消息,是有顺序的,即FIFO(先进先出)。
- Queue中的消息,默认是FIFO的。但可以发布一条紧急消息,它会被插入到队列的头部,被消费者立刻接收到。
- Queue中的消息,默认是持久保存的。即使消费者不在线,等到它下次上线的时候,仍能接收到该消息。
- Queue中的消息,默认是持久保存的,直到它被消费掉。但可以设置消息的有效期,如果在有效期内还没被消费,则会自动从队列中移除。
- Topic消息模型,采用发布/订阅(Publish/Subscribe)模式实现。
- 同一个Topic,可以有多个订阅者。当有消息发布到该Topic时,所有的订阅者都能接收到该消息。
- 发布到Topic的消息,默认不会持久保存。只有在线的订阅者,才能接收到该消息。如果订阅者不在线,等到它下次上线的时候,仍然不会接收到该消息。
- 发布到Topic的消息,默认不会持久保存。但可以发布一条保留消息(retained message),一旦有客户端订阅该Topic,立刻会收到该保留消息。一个Topic只能保存最新的一条保留消息。
如何使用bugu-redis,请参考源代码中的单元测试部分。