- Jedis 连接池实例
package com.java1234.redis;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
/**
* 测试类
* @author user
* */
public class JedisTest {
public static void main(String[] args) {
JedisPoolConfig config=new JedisPoolConfig(); // 连接池的配置对象
config.setMaxTotal(1000); // 设置最大连接数
config.setMaxIdle(100); // 设置最大空闲连接数
JedisPool jedisPool=new JedisPool(config,"192.168.1.146",6379);
Jedis jedis=null;
try{
jedis=jedisPool.getResource(); // 获取连接
jedis.auth("123456"); // 设置密码
jedis.set("name", "redis连接池学习"); // 设置值
String value=jedis.get("name"); // 获取值
System.out.println(value);
}catch(Exception e){
e.printStackTrace();
}finally{
if(jedis!=null){
jedis.close();
}
if(jedisPool!=null){
jedisPool.close();
}
}
}
}
- 遇到问题
-
a).运行代码时候连接超时问题
首先排查ip和端口是否通,检查虚拟机防火墙是否开启此端接口的映射。
开启防火墙并重启
firewall-cmd --zone=public --add-port=6379/tcp --permanent
firewall-cmd --reload -
b).检查redis配置文件redis.conf 是否绑定了本机ip
打开vi /usr/local/redis/redis.conf 注释 # bind 127.0.0.1 -
c). 检查redis 远程连接 redis自我保护 机制
解决方式1直接去掉自我保护功能(不推荐)
打开文件 vi /usr/local/redis/redis.conf 修改 protected-mode yes 默认是 protected-mode no
解决方式2设置redis连接密码
进入客户端
config set requirepass 123456
设置密码 123456