package cn.iocoder.yudao.module.im.dal.redis; /** * IM Redis Key 枚举类 * * @author 芋道源码 */ public interface RedisKeyConstants { /** * 好友关系状态缓存(合并「是否好友」+「是否拉黑」两态) *
* KEY 格式:friend_state:{userId}_{friendUserId} * VALUE 数据类型:{@link cn.iocoder.yudao.module.im.enums.friend.ImFriendStateEnum} */ String FRIEND_STATE = "friend_state"; /** * 群信息缓存 *
* KEY 格式:group:{groupId} * VALUE 数据类型:ImGroupDO */ String GROUP = "group"; /** * 群有效成员 userId 列表缓存(仅 ENABLE 状态) *
* KEY 格式:group_member_ids:{groupId}
* VALUE 数据类型:List
* 说明:只缓存轻量的 userId 列表,适合「群消息推送目标」这类只关心 userId 的场景
*/
String GROUP_MEMBER_IDS = "group_member_ids";
/**
* 通话同对 / 同群活跃唯一性的分布式锁
*
* KEY 格式:im_rtc_call:{conversationType}:{suffix}
* 私聊(conversationType=1):suffix = {小 userId}_{大 userId}
* 群聊(conversationType=2):suffix = {groupId}
* VALUE 数据格式:HASH // RLock.class:Redisson 的 Lock 锁,使用 Hash 数据结构
* 过期时间:不固定(lock 时显式传 timeoutMillis)
*/
String IM_RTC_CALL_LOCK = "im_rtc_call:%d:%s";
}