package com.vincent.rsf.server.ai.store.support;
|
|
import lombok.RequiredArgsConstructor;
|
import org.springframework.stereotype.Component;
|
|
import java.util.Set;
|
|
@Component
|
@RequiredArgsConstructor
|
public class AiRedisIndexSupport {
|
|
private final AiRedisExecutor aiRedisExecutor;
|
|
public void remember(String indexKey, String cacheKey) {
|
if (indexKey == null || cacheKey == null) {
|
return;
|
}
|
aiRedisExecutor.executeVoid(jedis -> jedis.sadd(indexKey, cacheKey));
|
}
|
|
public void forget(String indexKey, String cacheKey) {
|
if (indexKey == null || cacheKey == null) {
|
return;
|
}
|
aiRedisExecutor.executeVoid(jedis -> jedis.srem(indexKey, cacheKey));
|
}
|
|
public void deleteTrackedKeys(String indexKey) {
|
if (indexKey == null) {
|
return;
|
}
|
aiRedisExecutor.executeVoid(jedis -> {
|
Set<String> keys = jedis.smembers(indexKey);
|
if (keys != null && !keys.isEmpty()) {
|
jedis.del(keys.toArray(new String[0]));
|
}
|
jedis.del(indexKey);
|
});
|
}
|
}
|