zoukankan      html  css  js  c++  java
  • Spring RedisTemplate操作-ZSet操作(6)

    @Autowired
        @Resource(name="redisTemplate")
        private RedisTemplate<String, String> rt;
        
        public void flushdb(){
            rt.execute(new RedisCallback<Object>() {
                public String doInRedis(RedisConnection connection) throws DataAccessException {
                    connection.flushDb();
                    return "ok";
                }
            });
        }
        
        public void set(){
            flushdb();
            ZSetOperations<String, String> vo = rt.opsForZSet();
            vo.add("book", "a", 1d);
            vo.add("book", "b", 2d);
            Set<TypedTuple<String>> tuples = new HashSet<>();
            TypedTuple<String> tuple0 = new DefaultTypedTuple<String>("c", 3d);  
            tuples.add(tuple0);
            TypedTuple<String> tuple1 = new DefaultTypedTuple<String>("d", 4d);  
            tuples.add(tuple1);
            TypedTuple<String> tuple2 = new DefaultTypedTuple<String>("e", 5d);  
            tuples.add(tuple2);
            
            vo.add("book", tuples);
            
            vo.incrementScore("book", "e", 1d);
            
            vo.add("book", "f", 7);
            vo.add("book", "g", 8);
            vo.add("book", "h", 9);
            
    //        vo.remove("book", "g","h");
            vo.removeRange("book", 7, 8);
            vo.removeRangeByScore("book", 8, 9);
        }
        
        public void get(){
            ZSetOperations<String, String> vo = rt.opsForZSet();
            out(vo.score("book", "e"));
            out(vo.rank("book", "e"));
            out(vo.reverseRank("book", "e"));
            out(vo.zCard("book"));
            out(vo.range("book", 0, -1));
    //        out(vo.rangeWithScores("book", 0, -1));
            out(vo.count("book", 2, 4)); //包含的
            out(vo.rangeByLex("book", Range.range().lte("f").gte("b")));
            out(vo.rangeByLex("book", Range.range(), Limit.limit().count(2).offset(0)));
            out(vo.rangeByLex("book", Range.range(), Limit.limit().count(2).offset(2)));
            out(vo.rangeByScore("book", 2, 4));
            out(vo.rangeByScore("book", 2, 4, 0, 2));
    //        out(vo.rangeByScoreWithScores("book", 2, 4));
    //        out(vo.rangeByScoreWithScores("book", 2, 4, 0, 2));
            
            out(vo.reverseRange("book", 0, -1));
            out(vo.reverseRangeByScore("book", 2, 4));
            out(vo.reverseRangeByScore("book", 2, 4, 0, 2));
            
            
        }
        
        public void out(String str){
            System.out.println(str);
        }
        public void out(Collection list){
            System.out.println(list);
        }
        public void out(long num){
            System.out.println(num);
        }
        public void out(boolean num){
            System.out.println(num);
        }
        public void out(DataType num){
            System.out.println(num);
        }
        public void out(Object str){
            System.out.println(str);
        }
        public void out(Set<TypedTuple<String>> set){
            for(TypedTuple<String> t : set){
                System.out.println(t.getValue()+"---"+t.getScore());
            }
        }
  • 相关阅读:
    .ashx
    svn设置过滤内容
    .NET开发人员应该下载的十个必备工具(1)
    C#中操作XML (节点添加,修改,删除完整版)
    NVelocity模板引擎的注意事项
    什么是好的程序员?
    SQLSERVER2005登录时出错
    240多个jQuery插件(转)
    自己搭建svn
    一元三次方程求解
  • 原文地址:https://www.cnblogs.com/aoeiuv/p/6760759.html
Copyright © 2011-2022 走看看