我正在使用Spring RedisTemplate和Redis Scan。
在单节点条件下,它可以正常工作。
但是在集群环境中,它无法正常工作。
我无法获取数据。
是否有方法可以在集群环境中获取扫描数据?
以下是我的Spring RedisTemplate代码。
//String key="products:aa";
//String key="products:aac";
//String key="products:ab";
//String key="products:ac";
String workKey="products:aa*";
ScanOptions options = ScanOptions.scanOptions().match(workKey).count(100).build();
ScanOptions options1 = ScanOptions.scanOptions().build();
RedisConnectionFactory factory = redisTemplate.getConnectionFactory();
RedisConnection conn = factory.getConnection();
Cursor<byte[]> cursor = conn.scan(options);
List<Product> result = new ArrayList<Product>();
while(cursor.hasNext()){
String key=new String((byte[]) cursor.next());
Product pa=getById(key.replace("products:",""));
result.add(pa);
}
//result
//String key="products:aa";
//String key="products:aac";
mget
、mset
或scan
、keys
,则默认情况下不应支持。 - Shaun Xu