1.导入jedis依赖
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.6.0</version>
</dependency>
2 总共有三种链接方式
/* 直接连接 */
public static void main(String[] args) {
// 构造jedis对象
Jedis jedis = new Jedis("10.88.68.147", 8000);
jedis.auth("123");
// 向redis中添加数据
jedis.set("mytest", "123");
// 从redis中读取数据
String value = jedis.get("mytest");
System.out.println(value);
// 关闭连接
jedis.close();
}
/* 使用链接池连接 */
public static void main(String[] args) {
// 构建连接池配置信息
JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
// 设置最大连接数
jedisPoolConfig.setMaxTotal(50);
// 构建连接池
JedisPool jedisPool = new JedisPool(jedisPoolConfig, "10.88.68.147", 8000);
// 从连接池中获取连接
Jedis jedis = jedisPool.getResource();
jedis.auth("123");
// 读取数据
System.out.println(jedis.get("mytest"));
// 将连接还回到连接池中
jedisPool.returnResource(jedis);
// 释放连接池
jedisPool.close();
}
/* 使用集群方式连接 */
public static void main(String[] args) {
// 构建连接池配置信息
JedisPoolConfig poolConfig = new JedisPoolConfig();
// 设置最大连接数
poolConfig.setMaxTotal(50);
// 定义集群信息
List
shards = new ArrayList
();
JedisShardInfo shardInfo = new JedisShardInfo("10.88.68.147", 8000);
shardInfo.setPassword("123");
shards.add(shardInfo);
// 定义集群连接池
ShardedJedisPool shardedJedisPool = new ShardedJedisPool(poolConfig, shards);
ShardedJedis shardedJedis = null;
try {
// 从连接池中获取到jedis分片对象
shardedJedis = shardedJedisPool.getResource();
// 从redis中获取数据
String value = shardedJedis.get("mytest");
System.out.println(value);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (null != shardedJedis) {
// 关闭,检测连接是否有效,有效则放回到连接池中,无效则重置状态
shardedJedis.close();
}
}
// 关闭连接池
shardedJedisPool.close();
}
3.连接异常
异常解决 思路
1.Vmware里面的linux所安装的redis已经正常启动
2.在windows用ssh客户端链接linux可以操作redis
3 .linux防火墙已经关闭
4.拼linux的ip也能拼通
5,检查配置,将bind注释掉
6.redis目前处于受保护模式,不允许非本地客户端链接,我们可以通过给redis设置密码,然后客户端链接的时候,写上密码就可以解决了
配置redis的命令
config set requirepass 123 ->123是密码
这样连接就ok了