redis存对象,list对象,序列化,统计,排序等

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012269637/article/details/83178633


  public static void main(String [] arg) throws Exception{
      System.out.println("测试");
      System.out.println("----------------Tests main-----------------");
      Jedis jedis = new Jedis("127.0.0.1",6379);
      jedis.auth("123456");
      //统计计数
      jedis.decr("newId");
      Long i=jedis.incr("newId");
      i=jedis.incrBy("newId",1);
      System.out.println(i);
      i=jedis.decr("newId");
      System.out.println(i);

      // 有序集合排序 字符串类型 单个
      zAdd("news",99,"张三",jedis);
      jedis.zadd("news",100,"李四");
      jedis.zadd("news",30,"王五");
      jedis.zadd("news",10,"赵刘");
      System.out.println(jedis.zrevrange("news",0,2));
      System.out.println(jedis.zrank("news","王五"));
      System.out.println(jedis.zrevrange("news",jedis.zrank("news","王五"),jedis.zrank("news","王五")+2));

      // 数组转字符串
      People people=new People("张三",23,98);
      new CacheTimer().zAddClass("ne",98,people,jedis);
      //people.setX(new Integer(98));
      People people2=new People("李四",29,97);
      People people3=new People("王五",28,100);
      People people4=new People("李六",43,67);
      People people5=new People("老七",34,53);
      People people6=new People("老八",21,87);

      //Object o= ObjectPeople;
    //  jedis.zadd("ne".getBytes(),people.getGrade(),JSONObject.toJSON(people).toString().getBytes());
      jedis.zadd("ne".getBytes(),people2.getGrade(),JSONObject.toJSON(people2).toString().getBytes());
      jedis.zadd("ne".getBytes(),people3.getGrade(),JSONObject.toJSON(people3).toString().getBytes());
      jedis.zadd("ne".getBytes(),people4.getGrade(),JSONObject.toJSON(people4).toString().getBytes());
      jedis.zadd("ne".getBytes(),people5.getGrade(),JSONObject.toJSON(people5).toString().getBytes());
      jedis.zadd("ne".getBytes(),people6.getGrade(),JSONObject.toJSON(people6).toString().getBytes());

     // jedis.zrevrange("ne",0,2);

      System.out.println(jedis.zrevrange("ne",0,2));
      Set<String> strings=jedis.zrevrange("ne",0,2);
      List<People> peopleList=new ArrayList<People>();
      for (String string:strings){
          System.out.println(string);
         People people1= JSONObject.parseObject(string,CacheTimer.People.class)  ;
         peopleList.add(people1);
      }

      for (People p1:peopleList){
          System.out.println(p1.getName());
      }
      jedis.close();
  }
    public  void zAddClass(String key,int score, Object t, Jedis jedis){
        jedis.zadd(key.getBytes(),score, JSONObject.toJSON(t).toString().getBytes());
    }
    public static void zAdd(String key,int score,String t, Jedis jedis){
        jedis.zadd(key,score, t);
    }
    public List<T> zrevrange(String key,long start,long end,T t,Jedis jedis){
        List<T> tList=new ArrayList<T>();
        Set<byte[]> strings=jedis.zrevrange(key.getBytes(),start,end);
        for (byte[] string:strings){
            T t1= JSONObject.parseObject( new String(string),t.getClass())  ;
            tList.add(t1);
        }
        return tList;
    }
 static class People  implements Serializable{
      private String name;
      private Integer age;
      private  Integer grade;

     public People() {}

     public People(String name, Integer age, Integer grade) {
         this.name = name;
         this.age = age;
         this.grade = grade;
     }

     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;
      }

      public Integer getGrade() {
          return grade;
      }

      public void setGrade(Integer grade) {
          this.grade = grade;
      }

    /* @Override
     public String toString() {
         return "name"+name+" ,age"+age+",grade"+grade;
     }*/
 }
 

猜你喜欢

转载自blog.csdn.net/u012269637/article/details/83178633