jedis连接Redis
1.创建maven项目
2.导入依赖
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.20</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.3.18.RELEASE</version>
</dependency>
3.测试
@Test
public void test() {
一,
//1.连接Redis
Jedis jedis = new Jedis(host:"192.168.199.109",port:6379);
2.操作Redis 因为Redis的命令是什么,Jedis的方法就是什么
jedis.set("name","李四");
String value = jedis.get("name");
3.释放资源
jedis.close();
}
二,
创建一个对象 implements Serializable
//1.连接Redis
Jedis jedis = new Jedis(host:"192.168.199.109",port:6379);
2.1准备key -value
String key = "user";
User value = new User(id:1,name:"张三",new Date());
2.2
存储
byte[] byteKey = SerializationUtils.serialize(key);
byte[] byteValue = SerializationUtils.serialize(value);
获取
String key ="user";
byte[] byteKey = SerializationUtils.serialize(key);
byte[] value = jedis.get(byteKey);
SerializationUtils.deserialize(value);
User user = (User) SerializationUtils.deserialize(value);
Syste.out.println("user:" + user);
2.3存储
jedis.set(byteKey,byteValue);
3.释放资源
jedis.close();
@Test
public void setString() {
1.连接Redis
3.释放资源
}
二,Jedis存储对象 String方式
1.依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fast json</artifactId>
<version>1.2.47</version>
</dependency>
2.
//1.连接Redis
存储
Jedis jedis = new Jedis(host:"192.168.199.109",port:6379);
2.1准备key(String)-value(User)
String key = "stringUser";
User value =new User(id:2,name:"李四“, new Date());
2.2使用fastJSON将value转化为json字符串
String stringValue = JSON.toJSONString(value);
2.3存储到Redis中
jedis.set(stringKey,stringValue);
3.释放资源
jedis.close();
获取
//1.连接Redis
存储
Jedis jedis = new Jedis(host:"192.168.199.109",port:6379);
2.1准备一个key
String key = "stringUser";
2.2去Redis中查询value
String value = jedis.get(key);
2.3 将value反序列化为User
User user = JSON.parseObject(value,User.class);
2.4输出
System.out.println("user:" + user);
2.3存储到Redis中
jedis.set(stringKey,stringValue);
3.释放资源
jedis.close();
Jedis连接池
public class Demo4 {
@Test
public void pool() {
1.创建连接池
JedisPool pool = new JedisPool (host:"192.168.199.109",port:6379);
2.通过连接池获取jedis对象
Jedis jedis = pool.getResource();
3.操作
String value = jedis.get("stringUser");
System.out.println("user:" + value);
4.释放资源
jedis.close();
}
}
public void pool2() {
1.创建连接池配置信息
GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig();
poolConfig.setMaxTotal(100); //连接池最大活跃数
poolConfig.setMaxIdle(10); //最大空闲数
poolConfig.setMinIdle(10); //最小空闲数
poolConfig.setMaxWaitMillis(3000); //当连接池空了之后,多久没获取到Jedis对象,就超时
2.创建连接池
JedisPool pool = new JedisPool (poolConfig,host:"192.168.199.109",port:6379);
3.通过连接池获取jedis对象
Jedis jedis = pool.getResource();
4.操作
String value = jedis.get("stringUser");
System.out.println("user:" + value);
5.释放资源
jedis.close();
}
}