Redis链接及get set操作
package com.xiaohe97.jedisDemo;
import org.junit.Test;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
/**
* Jedis测试 学习途径 慕课 ==> 慕_神
* @author hg
*
*/
public class JedisDemo1 {
private static final String HOST = "192.168.1.22";
private static final int PORT = 6380;
/**
* 单例测试
*/
@Test
public void jedisTest01(){
Jedis jedis = new Jedis(HOST,PORT);
jedis.set("name","hegang");
System.out.println(jedis.get("name"));
jedis.close();
}
/**
* 链接池方式链接
*/
@Test
public void jedisTest02(){
JedisPoolConfig config = new JedisPoolConfig();
//设置最大连接数
config.setMaxTotal(30);
//设置最大空闲链接数
config.setMaxIdle(10);
//获取连接池
JedisPool jedisPool = new JedisPool(config,HOST,PORT);
Jedis jedis = null;
try{
//通过连接池获得链接;
jedis = jedisPool.getResource();
jedis.set("age","15");
System.out.println(jedis.get("age"));
}catch(Exception e){
e.printStackTrace();
}finally{
if(jedis != null){
jedis.close();
}
if(config != null){
jedisPool.close();
}
}
}
/**
* 运行以上两个测试方法 jedisTest01,jedisTest02 此时Redis中存在 name和age两个建值
* 测试重启redis之后,使用连接池链接是set的age的值丢失 == null,原因待研究!
*/
@Test
public void jedisTest03(){
Jedis jedis = new Jedis(HOST,PORT);
System.out.println(jedis.get("age")); //null
System.out.println(jedis.get("name")); //hegang
jedis.close();
}
}