jam*_*mes 5 redis spring-data spring-data-redis redis-cluster
我正在使用 spring redisTemplate 和 redis 扫描
它可以在单节点的情况下查找。
但在集群环境下就不行了
我无法获取数据。
有没有办法在集群环境中获取扫描数据?
这是我的 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";
Run Code Online (Sandbox Code Playgroud)
Scan是针对单个redis节点的命令。如果您确实想在集群中使用它,请首先获取集群中的节点列表,然后对每个节点运行扫描。
| 归档时间: |
|
| 查看次数: |
12431 次 |
| 最近记录: |