java程序连接redis需要一个jar包主要是连接redis的驱动包在下面我会为大家提供这个jar(免积分下载)
jedis-2.6.1.jar (点击打开链接)
package redis;
import java.util.HashMap;
import java.util.Map;
import pojo.User;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisShardInfo;
import util.SerializationUtil;
public class Csdn {
public static void main(String[] args) {
//获取redis的连接(就像连接数据库一样)IP:127.0.0.1 端口:6379
Jedis jedis = new Jedis(new JedisShardInfo("127.0.0.1", 6379));
//存储String(String是最简单的非常像我们平时存取Map一样)
jedis.set("keyStr", "valueStr");
//获取String值
jedis.get("keyStr");
//存储list(list比String稍稍复杂一点点 listaa是你要存储的List集合名 后面的是需要存储的数据 需要注意的是下标是倒序的先存放的在后面最后的在前面)
jedis.lpush("listxx", "value1", "value2","可以跟多个");
//取出list中存放的信息 listaa是你要存储的List集合名 0 和 -1 表示全部取出以此类推第一个是开始位置的下标第二个是结束为止的下标
System.out.println(jedis.lrange("listxx", 0, -1));
System.out.println("list集合的长度 :"+ jedis.llen("listxx"));
//创建一个map(下面的命令都是以h开头的是因为redis存放的是hashMap就像上面list的操作方法都是以l开头的一样)
Map<String, String> map = new HashMap<String, String>();
map.put("name1", "美美");
map.put("name2", "天天");
map.put("name3", "婧婧");
// 存入一个map
jedis.hmset("user", map);
// map key的个数
System.out.println("map的key的个数" + jedis.hlen("user"));
// map key
System.out.println("map的key" + jedis.hkeys("user"));
// map value
System.out.println("map的value" + jedis.hvals("user"));
// 删除map中的字段
jedis.hdel("user","name1");
System.out.println("map的key" + jedis.hkeys("user"));
//对象(对象就要用到序列化其实就是把对象转化成流的过程 User类要实现一个接口Serializable )
User user = new User();
user.setId(123);
user.setName("美美");
// 存入一个 对象
byte[] userkey = "userkey".getBytes();
jedis.set(userkey, SerializationUtil.serialize(user));
// 获取
byte[] bs = jedis.get(userkey);
User desUser = (User) SerializationUtil.deserialize(bs);
System.out.println(desUser.getId() + ":" + desUser.getName());
//set url="baidu";
}
}
pojo类(实体类)
package pojo;
import java.io.Serializable;
public class User implements Serializable{
/**
*
*/
private static final long serialVersionUID = -3285671668731446152L;
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;
}
}
util类
package util;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
public class SerializationUtil {
/**
* 序列化
*
* @param object
* @return
*/
public static byte[] serialize(Object object) {
ObjectOutputStream oos = null;
ByteArrayOutputStream baos = null;
try {
baos = new ByteArrayOutputStream();
oos = new ObjectOutputStream(baos);
oos.writeObject(object);
byte[] bytes = baos.toByteArray();
return bytes;
} catch (Exception e) {
}
return null;
}
/**
* 反序列化
*
* @param bytes
* @return
*/
public static Object deserialize(byte[] bytes) {
ByteArrayInputStream bais = null;
try {
bais = new ByteArrayInputStream(bytes);
ObjectInputStream ois = new ObjectInputStream(bais);
return ois.readObject();
} catch (Exception e) {
}
return null;
}
}