Redis Java

来源:互联网 发布:php二维数组写法 编辑:程序博客网 时间:2024/06/06 07:32

Student.java

package com.et.example;import java.io.Serializable;public class Student implements Serializable {private static final long serialVersionUID = 5223507899350662993L;private Integer id;private String name;private Integer age;public Student(){}public Student(Integer id,String name,Integer age){this.id = id;this.name = name;this.age = age;}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;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}@Overridepublic int hashCode() {final int prime = 31;int result = 1;result = prime * result + ((age == null) ? 0 : age.hashCode());result = prime * result + ((id == null) ? 0 : id.hashCode());result = prime * result + ((name == null) ? 0 : name.hashCode());return result;}@Overridepublic boolean equals(Object obj) {if (this == obj)return true;if (obj == null)return false;if (getClass() != obj.getClass())return false;Student other = (Student) obj;if (age == null) {if (other.age != null)return false;} else if (!age.equals(other.age))return false;if (id == null) {if (other.id != null)return false;} else if (!id.equals(other.id))return false;if (name == null) {if (other.name != null)return false;} else if (!name.equals(other.name))return false;return true;}@Overridepublic String toString() {return "Student [age=" + age + ", id=" + id + ", name=" + name + "]";}}
RedisJava.java
package com.et.example;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.util.Iterator;import java.util.List;import java.util.Set;import redis.clients.jedis.Jedis;public class RedisJava {/** * 将对象转换为字节数组 * @param obj * @return * @throws IOException  */public static byte[] objectToByte(Object obj) throws IOException{ByteArrayOutputStream baos=new ByteArrayOutputStream();ObjectOutputStream oops=new ObjectOutputStream(baos);oops.writeObject(obj);oops.close();return baos.toByteArray();}/** * 将字节数组转换为对象 * @param obj * @return * @throws IOException  */public static Object byteToObject(byte[] src) throws Exception{ByteArrayInputStream boas=new ByteArrayInputStream(src,0,src.length);ObjectInputStream ois=new ObjectInputStream(boas);return ois.readObject();}public static void main(String[] args) throws Exception {//连接Redis本地服务Jedis jedis = new Jedis();//查看服务是否正在运行,返回PONG表示服务正在运行System.out.println(jedis.ping());//Redis Java String//设置redis字符串System.out.println(jedis.set("name","lu"));System.out.println(jedis.set("age","20"));//获取redis字符串System.out.println(jedis.get("name"));System.out.println(jedis.get("age"));//Redis Java List//存储数据到列表中jedis.lpush(objectToByte("studentList"),objectToByte(new Student(1,"ping",20)));jedis.rpush(objectToByte("studentList"),objectToByte(new Student(2,"pong",20)));//获取存储的数据List<byte[]> list = jedis.lrange(objectToByte("studentList"),0,1);for(int n=0;n<list.size();n++) {System.out.println(byteToObject(list.get(n)));}//Redis Java Set//在集合中添加元素jedis.sadd("myset","a","b","c","d");jedis.sadd(objectToByte("studentSet"),objectToByte(new Student(1,"Ping",20)),objectToByte(new Student(2,"Pong",20)));//获取集合中的长度System.out.println(jedis.scard("myset"));System.out.println(jedis.scard(objectToByte("studentSet")));//遍历集合Set<String> mysets = jedis.smembers("myset");Set<byte[]> studentSets = jedis.smembers(objectToByte("studentSet"));Iterator<String> iterator1 = mysets.iterator();Iterator<byte[]> iterator2 = studentSets.iterator();while(iterator1.hasNext()) {System.out.println(iterator1.next());}while(iterator2.hasNext()) {System.out.println(byteToObject(iterator2.next()));}//Redis Java KeysSet<String> keys = jedis.keys("*");Iterator<String> it = keys.iterator();while(it.hasNext()) {String key = it.next();System.out.println(key);}}}


原创粉丝点击