欢迎投稿

今日深度:

【redis,1】java操作redis: 将string、list、map、自定义的对象保存到redis中,mapredis

【redis,1】java操作redis: 将string、list、map、自定义的对象保存到redis中,mapredis


一、操作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         Map<String,String> user = new HashMap<String,String>();         user.put("name""cd");         user.put("password""123456");         //map存入redis         jedis.hmset("user", user);         //mapkey个数         System.out.println(String.format("len:%d", jedis.hlen("user")));         //map中的所有键值         System.out.println(String.format("keys: %s", jedis.hkeys("user") ));         //map中的所有value         System.out.println(String.format("values: %s", jedis.hvals("user") ));         //取出map中的name字段值         List<String> rsmap = jedis.hmget("user""name","password");         System.out.println(rsmap);         //删除map中的某一个键值 password         jedis.hdel("user""password");         System.out.println(jedis.hmget("user""name""password"));                  //list         jedis.del("listDemo");         System.out.println(jedis.lrange("listDemo", 0, -1));         jedis.lpush("listDemo""A");         jedis.lpush("listDemo""B");         jedis.lpush("listDemo""C");         System.out.println(jedis.lrange("listDemo", 0, -1));         System.out.println(jedis.lrange("listDemo", 0, 1));                  //set         jedis.sadd("sname""wobby");         jedis.sadd("sname""kings");         jedis.sadd("sname""demon");         System.out.println(String.format("set num: %d", jedis.scard("sname")));         System.out.println(String.format("all members: %s", jedis.smembers("sname")));         System.out.println(String.format("is member: %B", jedis.sismember("sname""wobby")));         System.out.println(String.format("rand member: %s", jedis.srandmember("sname")));         //删除一个对象         jedis.srem("sname""demon");         System.out.println(String.format("all members: %s", jedis.smembers("sname")));             }   二、将自定义对象保存到redis中:
  1、自定义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();     } }                          

www.htsjk.Com true http://www.htsjk.com/redis/33716.html NewsArticle 【redis,1】java操作redis: 将string、list、map、自定义的对象保存到redis中,mapredis 一、操作string 、list 、map 对象 1、引入jar: jedis-2.1.0.jar 2、代码 /**      *  @param  args      */   ...
相关文章
    暂无相关文章
评论暂时关闭