package cache import ( "Open_IM/pkg/common/constant" "Open_IM/pkg/common/db/relation" "Open_IM/pkg/common/log" "Open_IM/pkg/common/tracelog" "Open_IM/pkg/utils" "context" "encoding/json" "math/big" "sort" "strconv" "time" ) const ( //userInfoCache = "USER_INFO_CACHE:" //friendRelationCache = "FRIEND_RELATION_CACHE:" blackListCache = "BLACK_LIST_CACHE:" //groupCache = "GROUP_CACHE:" //groupInfoCache = "GROUP_INFO_CACHE:" //groupOwnerIDCache = "GROUP_OWNER_ID:" //joinedGroupListCache = "JOINED_GROUP_LIST_CACHE:" //groupMemberInfoCache = "GROUP_MEMBER_INFO_CACHE:" //groupAllMemberInfoCache = "GROUP_ALL_MEMBER_INFO_CACHE:" //allFriendInfoCache = "ALL_FRIEND_INFO_CACHE:" //joinedSuperGroupListCache = "JOINED_SUPER_GROUP_LIST_CACHE:" //groupMemberListHashCache = "GROUP_MEMBER_LIST_HASH_CACHE:" //groupMemberNumCache = "GROUP_MEMBER_NUM_CACHE:" conversationCache = "CONVERSATION_CACHE:" conversationIDListCache = "CONVERSATION_ID_LIST_CACHE:" extendMsgSetCache = "EXTEND_MSG_SET_CACHE:" extendMsgCache = "EXTEND_MSG_CACHE:" ) const scanCount = 3000 const RandomExpireAdjustment = 0.2 func (rc *RcClient) DelKeys() { for _, key := range []string{"GROUP_CACHE:", "FRIEND_RELATION_CACHE", "BLACK_LIST_CACHE:", "USER_INFO_CACHE:", "GROUP_INFO_CACHE", groupOwnerIDCache, joinedGroupListCache, groupMemberInfoCache, groupAllMemberInfoCache, "ALL_FRIEND_INFO_CACHE:"} { fName := utils.GetSelfFuncName() var cursor uint64 var n int for { var keys []string var err error keys, cursor, err = rc.rdb.Scan(context.Background(), cursor, key+"*", scanCount).Result() if err != nil { panic(err.Error()) } n += len(keys) // for each for redis cluster for _, key := range keys { if err = rc.rdb.Del(context.Background(), key).Err(); err != nil { log.NewError("", fName, key, err.Error()) err = rc.rdb.Del(context.Background(), key).Err() if err != nil { panic(err.Error()) } } } if cursor == 0 { break } } } }