圈组消息缓存
更新时间: 2024/03/14 16:36:31
圈组提供消息缓存功能,只需要在初始化时打开设置开关即可调用QChatMessageService
接口中提供的相关方法,获取消息缓存或者清空消息缓存。
功能介绍
开启消息缓存后,可以为100个频道(QChatChannel
)缓存消息,每个频道最多缓存20条。如果超出,则按消息的创建时间淘汰最晚的。
如果单个频道的消息数超过20,则保留创建时间最新的20条消息;如果有消息的频道数超过100,则对比每个频道中创建时间最晚的消息的创建时间tm
,保留tm
最大的100个频道。
前提条件
已在初始化时开启消息缓存开关(将SDKOptions#enabledQChatMessageCache
设置为true
)。
实现方法
获取消息缓存
调用getMessageCache
方法或getMessageCacheBlock
(同步)方法获取指定频道的消息缓存。
示例代码如下:
javaNIMClient.getService(QChatMessageService.class).getMessageCache(943445L,885305L).setCallback(new RequestCallback<List<QChatMessageCache>>() {
@Override
public void onSuccess(List<QChatMessageCache> param) {
// 查询成功
}
@Override
public void onFailed(int code) {
// 查询失败
}
@Override
public void onException(Throwable exception) {
// 查询出现异常
}
});
清空消息缓存
调用clearMessageCache
方法可清空指定频道的消息缓存。
示例代码如下:
javaNIMClient.getService(QChatMessageService.class).clearMessageCache();
此文档是否对你有帮助?