• Redis工具类


    package com.tangzhe;
    
    import com.gaiaworks.Application;
    import com.gaiaworks.job.entity.pv.PVLog;
    import com.gaiaworks.job.util.DateUtils;
    import org.junit.Before;
    import org.junit.Ignore;
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.springframework.boot.test.context.SpringBootTest;
    import org.springframework.test.context.junit4.SpringRunner;
    import org.springframework.util.CollectionUtils;
    import redis.clients.jedis.Jedis;
    import redis.clients.jedis.Tuple;
    
    import java.util.ArrayList;
    import java.util.Date;
    import java.util.List;
    import java.util.Set;
    
    @RunWith(SpringRunner.class)
    @SpringBootTest(classes = Application.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
    public class MyRedisTest {
    
        private Jedis jedis;
    
    
        @Before
        public void init() {
            jedis = new Jedis("127.0.0.1", 6379);
        }
    
        @Test
        @Ignore
        public void test01() {
            jedis.set("test1", "hello");
            System.out.println(jedis.get("test1"));
        }
    
        /**
         * 新增一个pvlog日志
         */
        @Test
        public void test02() {
            String day = "2018-08-30";
            String key = "500000" + "_pv_" + day;
            PVLog pvLog = new PVLog();
    
            pvLog.setAppId("500000");
            pvLog.setUserId("100");
            pvLog.setRequestURL("/shop/test01");
            pvLog.setRequestTime(new Date());
            jedis.select(1);
            jedis.zincrby(key.getBytes(), 10, pvLog.getRequestURL().getBytes());
    
            pvLog.setAppId("500000");
            pvLog.setUserId("100");
            pvLog.setRequestURL("/shop/test02");
            pvLog.setRequestTime(new Date());
    
            jedis.select(1);
            jedis.zincrby(key.getBytes(), 20, pvLog.getRequestURL().getBytes());
        }
    
        @Test
        public void test03() {
            int total = 0;
            String day = "2018-08-30";
            String key = "500000" + "_pv_" + day;
            jedis.select(1);
            Set<Tuple> tuples = jedis.zrevrangeWithScores(key, 0, 100);
            List<PVLogCount> pvLogCounts = new ArrayList<>();
            if (!CollectionUtils.isEmpty(tuples)) {
                for (Tuple tuple : tuples) {
                    PVLogCount count = new PVLogCount();
                    count.setRequestURL(tuple.getElement());
                    count.setCount((int) tuple.getScore());
                    total = total + (int) tuple.getScore();
                    pvLogCounts.add(count);
                }
            }
            System.out.println(pvLogCounts);
            System.out.println("total=" + total);
        }
    
    
        /**
         * 新增一个uvlog日志
         */
        @Test
        public void test04() {
            String day = DateUtils.formatToString(new Date(), "yyyy-MM-dd");
            String key = "500000" + "_uv_" + day;
            PVLog pvLog = new PVLog();
    
            pvLog.setAppId("500000");
            pvLog.setUserId("100");
            pvLog.setRequestURL("/shop/test01");
            pvLog.setRequestTime(new Date());
            jedis.select(1);
            jedis.zincrby(key.getBytes(), 10, pvLog.getRequestURL().getBytes());
    
            pvLog.setAppId("500000");
            pvLog.setUserId("100");
            pvLog.setRequestURL("/shop/test02");
            pvLog.setRequestTime(new Date());
    
            jedis.select(1);
            jedis.zincrby(key.getBytes(), 20, pvLog.getRequestURL().getBytes());
        }
    
    }
  • 相关阅读:
    导出htmlcleaner
    备份
    本地win7搭建SVN
    nutch 导入ecl
    linux 启动nutch
    c++中的构造函数前加上explicit
    string::erase的使用心得
    C++的static关键字(转载)
    Boot Trigger
    strtol()详解
  • 原文地址:https://www.cnblogs.com/tangzhe/p/9576960.html
Copyright © 2020-2023  润新知