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());
            }
        }
  • 相关阅读:
    Windows 右键添加用记事本打开的选项
    shell 脚本常用写法
    常用命令--dig
    电子表格数字式的小时化成时分秒格式
    Kaggle猫狗图像分类竞赛Baseline
    阿里巴巴用户体验研究专员暑期实习生笔试 经验分享 2019
    sysctl -w net.core.somaxconn=65535
    src/stream/ngx_stream_proxy_module.c:542: 错误:‘ngx_stream_upstream_t’没有名为‘ssl_name’的成员
    ssl.cpp:333: error: ‘SSL_set_tlsext_host_name’ was not declared in this scope
    fiddler QuickExec
  • 原文地址:https://www.cnblogs.com/aoeiuv/p/6760759.html
Copyright © 2011-2022 走看看