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"; }