首页 > 其他 > 详细

RedisUtil 工具类

时间:2020-08-14 15:23:50      阅读:51      评论:0      收藏:0      [点我收藏+]
package com..;

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import redis.clients.jedis.Jedis;
public class RedisUtil {
//    redis-server.exe redis.windows.conf   --->启动 redis
//    redis-cli.exe -h 127.0.0.1 -p 6379    ---->操作 redis
    
    public RedisUtil() {
        
    }
    private static Jedis jedis;// redis实例
    private static String host;//地址
    private static String port;//端口
    private static String password;//授权密码
    private static String timeout;//超时时间:单位MS
    private static String maxIdle;//最大空闲数:空闲链接数大于maxIdle时,将进行回收
    private static String maxActive;//最大连接数:能够同时建立的"最大链接个数"
    private static String maxWait;//最大等待时间:单位ms
    private static String testOnBorrow;//在获取连接时,是否验证有效性
    
    static{
        //加载properties配置文件
        Properties properties = new Properties();
        InputStream is = RedisUtil.class.getClassLoader().getResourceAsStream("redis_config.properties");
        try {
            properties.load(is);
        } catch (IOException e) {
            e.printStackTrace();
        }
        host = properties.getProperty("redis.single.host");
        port = properties.getProperty("redis.single.port");
        password = properties.getProperty("redis.password");
        timeout = properties.getProperty("redis.timeout");
        maxIdle = properties.getProperty("redis.maxIdle");
        maxActive = properties.getProperty("redis.maxActive");
        maxWait = properties.getProperty("redis.maxWait");
        testOnBorrow = properties.getProperty("redis.testOnBorrow");
        // 得到Jedis/JedisPool实例并且设置配置
        jedis = new Jedis(host,Integer.parseInt(port),Integer.parseInt(timeout));
        
    }
    
    /**
     * 写入缓存
     * @param key
     * @param value
     * @return
     */
    public static boolean set (final String key,String  value){
        boolean result = false;
        try {
            jedis.set(key, value);
            result = true;
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("set cache error");
        }
        return result ;
    }
    
    /**
     * 读取缓存
     * @param key
     * @return
     */
    public static String get(final String key) {
        String result =null;
        result = jedis.get(key);
        return result;
    }
    
    
    /**
     * 删除key对应的value
     * @param key
     */
    public static void del(final String key) {
        if(key!=null&&key.length()>=1&&!key.equals("")&&jedis.exists(key)){
            jedis.del(key);
        }
    }
    
    /**
     * 判断缓存中是否有key对应的value
     * @param key
     * @return
     */
    public static boolean exists(final String key) {
        return jedis.exists(key);
    }
    
    /**
     * 写入缓存(规定缓存时间)
     * @param key
     * @param value
     * @param expireSecond
     * @return
     */
    public static boolean set(final String key,String value,Long expireSecond) {
        boolean result = false; 
        try {
            // NX代表不存在才set,EX代表秒,NX代表毫秒
            jedis.set(key, value, "NX", "EX", expireSecond);
            result = true;
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("set cache error on time");
        }
        return result;
    }
    
    /**
     * <p>
     * 通过key向list头部添加字符串
     * </p>
     * 
     * @param key
     * @param strs
     *            可以使一个string 也可以使string数组
     * @return 返回list的value个数
     */
    public static Long lpush(String key, String... strs) {
        Long res = null;
        res = jedis.lpush(key, strs);
        return res;
    }
    
    
    
    
}

 

RedisUtil 工具类

原文:https://www.cnblogs.com/lifan12589/p/13502104.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!