ich in der Lage bin Werte abrufen aus Redis
mit Jedis
:Get Set Wert von Redis mit RedisTemplate
public static void main(String[] args) {
Jedis jedis = new Jedis(HOST, PORT);
jedis.connect();
Set<String> set = jedis.smembers(KEY);
for (String s : set) {
System.out.println(s);
}
jedis.disconnect();
jedis.close();
}
Aber wenn ich Spring zu verwenden versuchen RedisTemplate
, ich bin keine Daten zu bekommen. Meine Daten werden in Redis
als Set
gespeichert.
// inject the actual template
@Autowired
private RedisTemplate<String, Object> template;
// inject the template as SetOperations
@Resource(name="redisTemplate")
private SetOperations<String,String> setOps;
public String logHome() {
Set<String> set = setOps.members(KEY);
for(String str:set){
System.out.println(str); //EMPTY
}
Set<byte[]> keys = template.getConnectionFactory().getConnection().keys("*".getBytes());
Iterator<byte[]> it = keys.iterator();
while(it.hasNext()){
byte[] data = (byte[])it.next();
System.out.println(new String(data, 0, data.length)); //KEYS are printed.
}
Set<Object> mySet = template.boundSetOps(KEY).members();
System.out.println(mySet); //EMPTY
return "";
}
Kann mir jemand bitte aufzeigen, was ich vermisse?
EDIT: Meine XML-Konfiguration für RedisTemplate.
<bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate"
p:connection-factory-ref="jedisConnectionFactory"/>
<bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"
p:host-name="myhostname" p:port="6379" />
Können Sie Ihre XML-Konfiguration/@ Konfiguration der RedisTemplate? – mp911de
@ mp911de hinzugefügt. – Zeeshan
Danke, bestätigt meine Annahme. – mp911de