password:
### 2.2 代码实现及调用方法
// 工具类
@Component
public class JedisUtil {
@Autowired
private JedisConfig jedisConfig;
// 管理单个Jedis对象【这里可以使用Map管理多个对象,有需求的小伙伴可以发挥一下】
private Jedis jedis;
public synchronized String setCache(String key, String value) {
if (jedis == null) {
String host = jedisConfig.getHost();
int port = jedisConfig.getPort();
int database = jedisConfig.getDatabase();
// 初始化Redis客户端
jedis = new Jedis(host, port);
// 切换数据库
jedis.select(database);
}
return jedis.set(key, value);
}
}
// 代码调用
// 使用时类注入对象
@Autowired
private JedisUtil jedisUtil;
// 调用
jedisUtil.setCache(key, value);### 2.3 升级版// 管理多个Jedis对象
@Component
public class JedisManagerUtil {@Autowired
private JedisConfig jedisConfig;
/\*\** 统一管理Jedis对象
*/
private Map<Integer, Jedis> jedisMap = new HashMap<>(16);/\*\** 写入数据
*
* @param key redis的key
* @param value redis的value
* @param database 写入的库index
* @return 写入结果
*/
public synchronized String setCache(String key, String value, int database) {
if (!jedisMap.containsKey(database)) {
String host = jedisConfig.getHost();
int port = jedisConfig.getPort();
Jedis jedis = new Jedis(host, port);
jedis.select(database);
jedisMap.put(database, jedis);
return jedis.set(key, value);
} else {
Jedis jedis = jedisMap.get(database);
return jedis.set(key, value);
}
}
}
// 测试调用
@SpringBootTest
class JedisApplicationTests {
@Autowired
private JedisManagerUtil jedisManagerUtil;
@Test
void jedisManagerUtilTest() {