本案例创建的普通的java项目
步骤一:在pom.xml文件中导入依赖
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.3.8.RELEASE</version>
</dependency>
</dependencies>
步骤二:在类中存取redis中存取redis的值
package com.qf.jedis;
import com.qf.entity.User;
import org.junit.Test;
import org.springframework.util.SerializationUtils;
import redis.clients.jedis.Jedis;
public class JedisTest {
@Test
public void test(){
//建立连接
Jedis jedis=new Jedis("192.168.22.131",6379);//指定linux的ip和端口号
//jedis.auth("P@ssw0rd");//如果redis有密码就这么写。如果是连接池的话
//操作。存储的形式要么都String要么都数组
//序列化
/* //操作中的第一个例子,存储一个字符串
jedis.set("name","李四"); //这行代码执行完后,这个键值对存放进了redis图形化界面中*/
/* //操作中的第二个示例,给redis存储一个对象。操作后的效果是user是key,user对象作为值存储在了redis中
String key="user";//准备key
User user=new User();//准备value
user.setId(1);
user.setName("王五");
byte[] serializeKey = SerializationUtils.serialize(key);//使用SerializationUtils进行序列化操作,这个工具类有序列化和反序列化两个方法
byte[] serializeValue = SerializationUtils.serialize(user);
jedis.set(serializeKey,serializeValue);//将对象存进redis中*/
//反序列化
//获取redis中存储的byte[]数组
String key="user";//要获取的值的key
byte[] serializeKey = SerializationUtils.serialize(key);
byte[] serializeValue = jedis.get(serializeKey);//通过key获取redis中存储的值
User user = (User) SerializationUtils.deserialize(serializeValue);//将获取到的值进行反序列化,变成我们能识别的
System.out.println("user = " + user);
System.out.println("ok!!");
//释放资源
jedis.close();
}
}
步骤二用到的User实体类
package com.qf.entity;
import java.io.Serializable;
public class User implements Serializable{
private Integer id;
private String name;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
'}';
}
}
案例结构图:
使用连接池连接带有密码的redis。