您的位置:首页 > 数据库 > Redis

Spring RedisTemplate操作-HyperLogLog操作

2017-09-20 09:03 681 查看
package com.panku.web.redis;

import java.util.Collection;

import java.util.Set;

import javax.annotation.Resource;

import org.junit.Test;

import org.junit.runner.RunWith;

import org.springframework.dao.DataAccessException;

import org.springframework.data.redis.connection.DataType;

import org.springframework.data.redis.connection.RedisConnection;

import org.springframework.data.redis.core.HyperLogLogOperations;

import org.springframework.data.redis.core.RedisCallback;

import org.springframework.data.redis.core.RedisTemplate;

import org.springframework.data.redis.core.ZSetOperations.TypedTuple;

import org.springframework.test.context.ContextConfiguration;

import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

/**

 * Spring RedisTemplate操作-HyperLogLog操作

 * @author ccx

 *

 */

@RunWith(SpringJUnit4ClassRunner.class)  

@ContextConfiguration(locations = "classpath:applicationContext.xml")  

public class RedisTemplateHyperLogLog {

    @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";

            }

        });

    }

    @Test

    public void set(){

        flushdb();

        HyperLogLogOperations<String, String> vo = rt.opsForHyperLogLog();

        vo.add("book", "a","b","c");

        vo.add("bag", "a","e","d");

        vo.add("del", "f","g","h");

        

        

        

    }

    @Test

    public void get(){

        HyperLogLogOperations<String, String> vo = rt.opsForHyperLogLog();

        out(vo.size("book"));

        out(vo.size("bag"));

        out(vo.size("del"));

        out(vo.size("book","bag","del"));

        vo.delete("del");

        out(vo.size("book","bag","del"));

        vo.union("total", "book","bag","del");

        out(vo.size("total"));

    }

    

    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());

        }

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: