im问题修复-redis统一key,保证不同服务器保存相同的客服
This commit is contained in:
parent
a047598703
commit
a2e0854a7d
@ -24,7 +24,7 @@ public class DistributedSessionService {
|
||||
|
||||
private static final String USER_SERVER_KEY = "im:user:server:";
|
||||
private static final String USER_SESSIONS_KEY = "im:user:sessions:";
|
||||
private static final String SERVER_USERS_KEY = "im:server:users:";
|
||||
private static final String SERVER_USERS_KEY = "im:server:users:kf";
|
||||
private static final String GROUP_SESSIONS_KEY = "im:group:sessions:";
|
||||
|
||||
/**
|
||||
@ -33,7 +33,7 @@ public class DistributedSessionService {
|
||||
public void registerUserSession(String userId, String sessionId, Map<String, Object> attributes) {
|
||||
String userKey = USER_SESSIONS_KEY + userId;
|
||||
String serverKey = USER_SERVER_KEY + userId;
|
||||
String serverUsersKey = SERVER_USERS_KEY + getServerId();
|
||||
String serverUsersKey = SERVER_USERS_KEY;
|
||||
|
||||
// 存储用户会话信息
|
||||
Map<String, Object> sessionInfo = new HashMap<>();
|
||||
@ -61,7 +61,7 @@ public class DistributedSessionService {
|
||||
*/
|
||||
public void unregisterUserSession(String userId, String sessionId) {
|
||||
String userKey = USER_SESSIONS_KEY + userId;
|
||||
String serverUsersKey = SERVER_USERS_KEY + getServerId();
|
||||
String serverUsersKey = SERVER_USERS_KEY;
|
||||
|
||||
// 从用户会话中移除
|
||||
redisTemplate.opsForHash().delete(userKey, sessionId);
|
||||
@ -146,7 +146,7 @@ public class DistributedSessionService {
|
||||
*/
|
||||
public List<Integer> getOnlineUserIds() {
|
||||
// 方法1: 通过服务器用户集合获取(推荐)
|
||||
String serverUsersKey = SERVER_USERS_KEY + getServerId();
|
||||
String serverUsersKey = SERVER_USERS_KEY;
|
||||
Set<Object> userIds = redisTemplate.opsForSet().members(serverUsersKey);
|
||||
|
||||
if (userIds != null && !userIds.isEmpty()) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user