【redis,1】java操作redis:将string、list、map、自定义的对象
程序员文章站
2024-01-31 22:58:22
...
一、操作string 、list 、map 对象1、引入jar:jedis-2.1.0.jar 2、代码/** * @param args */ public static void main(String[] args) { //连接redis服务 Jedis jedis = new Jedis(192.168.88.15,6379); //密码验证-如果你没有设置redis密码可不验证即可使用
一、操作string 、list 、map 对象 1、引入jar: jedis-2.1.0.jar 2、代码 /** * @param args */ public static void main(String[] args) { //连接redis服务 Jedis jedis = new Jedis("192.168.88.15",6379); //密码验证-如果你没有设置redis密码可不验证即可使用相关命令 // jedis.auth("abcdefg"); //简单的key-value 存储 jedis.set("redis", "myredis"); System.out.println(jedis.get("redis")); //在原有值得基础上添加,如若之前没有该key,则导入该key //之前已经设定了redis对应"myredis",此句执行便会使redis对应"myredisyourredis" jedis.append("redis", "yourredis"); jedis.append("content", "rabbit"); //mset 是设置多个key-value值 参数(key1,value1,key2,value2,...,keyn,valuen) //mget 是获取多个key所对应的value值 参数(key1,key2,key3,...,keyn) 返回的是个list jedis.mset("name1","yangw","name2","demon","name3","elena"); System.out.println(jedis.mget("name1","name2","name3")); //map Map1、自定义pojo 实现Serializable 接口: package cn.mingyuan.redis; import java.io.Serializable; /** * 测试用pojo,实现了Serializable,以便进行系列化操作 * * @author mingyuan * */ public class Person implements Serializable { private static final long serialVersionUID = -3562550857760039655L; private String name; private int age; public Person(){} public Person(String name, int age) { super(); this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "Person [name=" + name + ", age=" + age + "]"; } } 2、测试类: package cn.mingyuan.redis; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import redis.clients.jedis.Jedis; public class Test { /** * @param args * @throws IOException * @throws ClassNotFoundException */ public static void main(String[] args) throws IOException, ClassNotFoundException { // Jedis redis = new Jedis("192.168.88.15"); Jedis redis = new Jedis("192.168.88.15", 6379); // connect可以不要,因为在执行set操作的时候会先进行判断客户端是否于服务器端建立了连接,若无,则启动连接过程 redis.connect(); String set = redis.set("mingyuan", "1"); System.out.println(" set result \t" + set); redis.incr("mingyuan"); String string = redis.get("mingyuan"); System.out.println(" get result of key 'mingyuan' \t" + string); // 下面是对对象进行存储的测试代码 ByteArrayOutputStream bos = new ByteArrayOutputStream(); ObjectOutputStream oos = new ObjectOutputStream(bos); Person person = new Person("liudehua" ,22); oos.writeObject(person); byte[] byteArray = bos.toByteArray(); oos.close(); bos.close(); String setObjectRet = redis.set("mingyuan".getBytes(), byteArray); System.out.println(" set object return \t" + setObjectRet); byte[] bs = redis.get("mingyuan".getBytes()); ByteArrayInputStream bis = new ByteArrayInputStream(bs); ObjectInputStream inputStream = new ObjectInputStream(bis); Person readObject = (Person) inputStream.readObject(); System.out.println(" read object \t" + readObject.toString()); inputStream.close(); bis.close(); redis.disconnect(); } }