redis 获取db数据通用方法
时间: 2023-07-09 13:20:07 浏览: 149
Redis 中获取数据的通用方法是先通过 `select` 命令切换到指定的数据库,然后再通过相应的命令获取数据。
以下是一个获取 Redis 指定数据库中所有 key 的通用方法:
```java
import redis.clients.jedis.Jedis;
import redis.clients.jedis.ScanParams;
import redis.clients.jedis.ScanResult;
import java.util.HashSet;
import java.util.Set;
public class RedisUtil {
private static final String HOST = "localhost";
private static final int PORT = 6379;
private static final int TIMEOUT = 5000;
private static final int DATABASE = 0;
public static Set<String> getAllKeys() {
Set<String> keys = new HashSet<>();
Jedis jedis = null;
try {
jedis = new Jedis(HOST, PORT, TIMEOUT);
jedis.select(DATABASE);
String cursor = ScanParams.SCAN_POINTER_START;
ScanParams params = new ScanParams().count(100);
do {
ScanResult<String> scanResult = jedis.scan(cursor, params);
keys.addAll(scanResult.getResult());
cursor = scanResult.getStringCursor();
} while (!cursor.equals(ScanParams.SCAN_POINTER_START));
} finally {
if (jedis != null) {
jedis.close();
}
}
return keys;
}
}
```
在这个方法中,我们使用了 Jedis 客户端库,通过 `jedis.scan` 方法遍历指定数据库中的所有 key,将获取到的 key 存储到一个 Set 集合中,并返回该集合。
在使用该方法前,需要先修改 `HOST`、`PORT`、`TIMEOUT`、`DATABASE` 等常量的值,以连接到指定的 Redis 服务器和数据库。
阅读全文