jedis操作工具类

点击打开链接


package com.yanshu.util;


import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.UnsupportedEncodingException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;


import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;


import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.yanshu.enums.ResultEnums;
import com.yanshu.pojo.RedisTable;
import com.yanshu.tools.ResultsUtils;


import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
import redis.clients.jedis.Protocol;
import redis.clients.jedis.exceptions.JedisException;


public class RedisUtils {


// private static String host="106.75.132.229";
//
// private static Integer prot=6379;
//
// private static String auth="zxc321";
//
// private static Integer  datanum=14;

private static final String IP = "127.0.0.1"; // ip
    private static final int PORT = 6379;         // 端口
    private static final String AUTH="";          // 密码(原始默认是没有密码)
private static final Integer  datanum=14;     // 选择链接库
    private static int   MAX_ACTIVE = 1024;       // 最大连接数
    private static int   MAX_IDLE = 200;          // 设置最大空闲数
    private static int   MAX_WAIT = 10000;        // 最大连接时间
    private static int   TIMEOUT = 10000;         // 超时时间
    private static boolean BORROW = true;         // 在borrow一个事例时是否提前进行validate操作
    private static JedisPool pool = null;        // 设置redis 连接池
    private static Logger logger =LoggerFactory.getLogger (RedisUtils.class);

// public String saveRedisTable(String taskname,String savestite,String taskurl ){
//
// System.out.println("taskname="+taskname);
// System.out.println("savestite="+savestite);
// System.out.println("taskurl="+taskurl);
// if(AppUtil.isNullorEmpty(taskname)||AppUtil.isNullorEmpty(taskurl)){
// return JSON.toJSONString(ResultsUtils.error(ResultEnums.PARAMES_NULL));
// }
// Map<Object,Object> map=new HashMap<>();
// Jedis jedis = new Jedis(host,prot);
//        jedis.auth(auth);
//        jedis.select(datanum);
      System.out.println("Connection to server sucessfully");
//        System.out.println(jedis.ping());
//        String key = "rds:task05";
//        RedisTable redisTable=new RedisTable();
//   String date2TimeStamp = Date2TimeStamp(new Date());
//
// redisTable.setSucceedDate(date2TimeStamp);
// redisTable.setTaskName(taskname);
//     redisTable.setSaveSite(savestite);
//     // 店铺 false
// if("shopsearch.py".equals(taskname)){
// redisTable.setProxy("False");
//   List<Object> addurl2 = addurl("https://shopsearch.taobao.com/search?data-value=sale-desc&ajax=true&callback=shopInfo&app=shopsearch&q="+taskurl);
// redisTable.setTaskUrl(addurl2);
// }
// else if("taoBao.py".equals(taskname)){  // 商品详情 True 
// String addurl = geturl(taskurl);
//    List<Object> addurl2 = addurl(addurl);
//   redisTable.setTaskUrl(addurl2);
// redisTable.setProxy("True");
// }
// else if ("catSearch.py".equals(taskname)){  // 类目 False
// redisTable.setProxy("False");
// }
//     redisTable.setHeaders(map);// 还没有做
//     String sdf=JSON.toJSONString(redisTable).replaceAll("\"","\'");
//        Long lpush = jedis.lpush(key, sdf);
//        if(lpush>0){
//         return  JSON.toJSONString("添加成功,现在一共有"+lpush+"条");
//        }
//        
// return null;
// }



    /**
     * 初始化线程池
     */
    static
    {
        JedisPoolConfig config = new JedisPoolConfig();
        config.setMaxTotal(MAX_ACTIVE);
        config.setMaxIdle(MAX_IDLE);
        config.setMaxWaitMillis(MAX_WAIT);
        config.setTestOnBorrow(BORROW);
        
        pool = new JedisPool(config, IP, PORT, TIMEOUT);
       
    }
     
     
    /**
     * 获取连接
     */
    public static synchronized  Jedis getJedis()
    {
        try
        {
            if(pool != null)
            {
           
           
            
                return pool.getResource();
            }
            else
            {
                return null;
            }
        }
        catch (Exception e) {
            logger.info("连接池连接异常");
            return null;
        }
        
    }
    /**
     * @Description:设置失效时间
     * @param @param key
     * @param @param seconds
     * @param @return 
     * @return boolean 返回类型
     */
    public static void disableTime(String key,int seconds)
    {
        Jedis jedis = null;
        try
        {
            jedis = getJedis();
            jedis.expire(key, seconds);
             
        }
        catch (Exception e) {
            logger.debug("设置失效失败.");
        }finally {
            getColse(jedis);
        }
    }
     
     
    /**
     * @Description:插入对象
     * @param @param key
     * @param @param obj
     * @param @return 
     * @return boolean 返回类型
     */
    public static boolean addObject(String key,Object obj)
    {
         
        Jedis jedis = null;
        String value = JSONObject.toJSONString(obj);
        try
        {
            jedis = getJedis();
//            jedis.select(2);  选择存储地址
            String code = jedis.set(key, value).toLowerCase(); // 转化成小写的
            if(code.equals("ok"))
            {
                return true;
            }
        }
        catch (Exception e) {
            logger.debug("插入数据有异常.");
            return false;
        }finally {
            getColse(jedis);
        }
        return false;
    }
     
     
     
    /**
     * @Description:存储key~value
     * @param @param key
     * @param @param value 
     * @return void 返回类型
     */
     
    public static boolean addValue(String key,String value)
    {
        Jedis jedis = null;
        try
        {
            jedis = getJedis();
            String code = jedis.set(key, value).toLowerCase();
            if(code.equals("ok"))
            {
                return true;
            }
        }
        catch (Exception e) {
            logger.debug("插入数据有异常.");
            return false;
        }finally {
            getColse(jedis);
        }
        return false;
    }
    /**
     * @Description:删除key
     * @param @param key
     * @param @return 
     * @return boolean 返回类型
     */
    public static boolean delKey(String key)
    {
        Jedis jedis = null;
        try
        {
            jedis = getJedis();
            Long code = jedis.del(key);
            if(code > 1)
            {
                return true;
            }
        }
        catch (Exception e) {
            logger.debug("删除key异常.");
            return false;
        }finally {
            getColse(jedis);
        }
        return false;
    }
     
    /**
     * @Description: 关闭连接
     * @param @param jedis 
     * @return void 返回类型
     */
     
    public static void getColse(Jedis jedis)
    {
        if(jedis != null)
        {
            jedis.close();
        }
    }


    
    public static void main(String[] args) {
//    Jedis jedis = getJedis();
//    System.out.println(jedis.ping());
//    jedis.select(datanum);
    boolean addObject = addObject("task","abc");
   
    System.out.println(addObject);
   
}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值