Ich versuche Redis/Jedis mit Frühling zu verstehen. Ich stecke irgendwo fest, wo ich nach einiger Zeit meinen Schlüssel nicht auslaufen lassen kann.Jedis Schlüsselablauf
Kann mir bitte jemand helfen?
public class SessionCacheRepositoryImpl implements SessionCacheRepository {
private static final String KEY = "Session";
private RedisTemplate<String, Object> redisTemplate;
private HashOperations hashOperations;
@Autowired
public SessionCacheRepositoryImpl(RedisTemplate<String, Object> redisTemplate) {
this.redisTemplate = redisTemplate;
}
@PostConstruct
private void init() {
hashOperations = redisTemplate.opsForHash();
redisTemplate.expire(KEY, 30, TimeUnit.SECONDS);
}
public void saveSession(final Session session) {
hashOperations.put(KEY, session.getSessionID(), session);
}
}
Und das ist meine Config-Klasse
private RedisTemplate<String, Object> template;
@Bean
JedisConnectionFactory jedisConnectionFactory() {
JedisConnectionFactory jedisConFactory = new JedisConnectionFactory();
jedisConFactory.setHostName("localhost");
jedisConFactory.setPort(36919);
return jedisConFactory;
}
@Bean
public RedisTemplate<String, Object> redisTemplate() {
template = new RedisTemplate<String, Object>();
template.setConnectionFactory(jedisConnectionFactory());
template.setValueSerializer(new GenericToStringSerializer<Object>(Object.class));
return template;
}
Vielen Dank !! Es funktioniert :) – Happy
Ich habe vergessen zu erwähnen, in Ihrem Code-Beispiel verwenden Sie immer den Schlüssel 'Session' - so alle Ihre speichert überschreibt den gleichen Schlüssel. Ist es das was du willst? –
Nein, ich habe gerade poc mit diesem eigentlich ich dachte an den Schlüssel als Sitzungs-ID zu speichern, aber jetzt muss ich sessionId zweimal definieren. Eine für Schlüssel und eine für Bezeichner. 'hashOperations.put (session.getSessionID(), session.getSessionID(), Sitzung); redisTemplate.expire (session.getSessionID(), 30, TimeUnit.MINUTES); ' Gibt es eine Möglichkeit, dass ich SessionID nur als Schlüssel verwenden und mein Objekt speichern kann? – Happy