Java操作Redis工具类

 

Redis安装步骤可参考:

https://www.cnblogs.com/jonban/p/9217221.html

 

依赖 jar 包

<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
    <version>3.0.1</version>
</dependency>

 

 

RedisUtils.java

package javax.utils;

import java.util.ArrayList;
import java.util.List;

import redis.clients.jedis.JedisPoolConfig;
import redis.clients.jedis.JedisShardInfo;
import redis.clients.jedis.ShardedJedis;
import redis.clients.jedis.ShardedJedisPool;

/**
 * Redis工具类
 * 
 * @author Logan
 * @version 1.0.0
 */
public class RedisUtils {

    private static ShardedJedisPool jedisPool = null;

    static {
        JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();

        // 设置最大对象数
        jedisPoolConfig.setMaxTotal(20);

        // 最大能够保持空闲状态的对象数
        jedisPoolConfig.setMaxIdle(10);

        // 超时时间
        jedisPoolConfig.setMaxWaitMillis(10000);

        // 在获取连接的时候检查有效性, 默认false
        jedisPoolConfig.setTestOnBorrow(true);

        // 在返回Object时, 对返回的connection进行validateObject校验
        jedisPoolConfig.setTestOnReturn(true);

        // 如果是集群,可以全部加入list中
        List<JedisShardInfo> shardInfos = new ArrayList<JedisShardInfo>();
        JedisShardInfo shardInfo = new JedisShardInfo("192.168.32.10", 6379);
        shardInfo.setPassword("redis123.");
        shardInfos.add(shardInfo);

        jedisPool = new ShardedJedisPool(jedisPoolConfig, shardInfos);

    }

    /**
     * 从连接池中获取一个ShardedJedis对象
     */
    public static ShardedJedis getJedis() {
        return jedisPool.getResource();
    }

    /**
     * 关闭ShardedJedis对象,放回池中
     */
    public static void closeJedis(ShardedJedis jedis) {
        jedis.close();
    }

    /**
     * 通过key获取String类型Value
     * 
     * @param key 键
     * @return*/
    public static String get(String key) {
        try (
                ShardedJedis jedis = jedisPool.getResource();
        ) {

            return jedis.get(key);
        }
    }

    /**
     * 通过key获取字节数组类型Value
     * 
     * @param key 键
     * @return*/
    public static byte[] get(byte[] key) {
        try (
                ShardedJedis jedis = jedisPool.getResource();
        ) {

            return jedis.get(key);
        }
    }

    /**
     * 设置String类型key和value
     * 
     * @param key 键
     * @param value 值
     * @return
     */
    public static String set(String key, String value) {
        try (
                ShardedJedis jedis = jedisPool.getResource();
        ) {

            return jedis.set(key, value);
        }

    }

    /**
     * 设置字节数组类型key和value
     * 
     * @param key 键
     * @param value 值
     * @return
     */
    public static String set(byte[] key, byte[] value) {
        try (
                ShardedJedis jedis = jedisPool.getResource();
        ) {

            return jedis.set(key, value);
        }

    }

    /**
     * 删除指定key
     */
    public static Long del(String key) {
        try (
                ShardedJedis jedis = jedisPool.getResource();
        ) {
            return jedis.del(key);
        }
    }

    /**
     * 左侧放入集合
     * 
     * @param key 键
     * @param values 值集合
     * @return
     */
    public static Long lpush(String key, String... values) {
        try (
                ShardedJedis jedis = jedisPool.getResource();
        ) {
            return jedis.lpush(key, values);
        }
    }

    /**
     * 左侧弹出一个元素
     * 
     * @param key 指定键
     * @return 左侧第一个元素
     */
    public static String lpop(String key) {
        try (
                ShardedJedis jedis = jedisPool.getResource();
        ) {
            return jedis.lpop(key);
        }
    }

    /**
     * 右侧放入集合
     * 
     * @param key 键
     * @param values 值集合
     * @return
     */
    public static Long rpush(String key, String... values) {
        try (
                ShardedJedis jedis = jedisPool.getResource();
        ) {
            return jedis.rpush(key, values);
        }
    }

    /**
     * 右侧弹出一个元素
     * 
     * @param key 指定键
     * @return 右侧第一个元素
     */
    public static String rpop(String key) {
        try (
                ShardedJedis jedis = jedisPool.getResource();
        ) {
            return jedis.rpop(key);
        }
    }

}

 

 

 

Java操作Redis工具类.

 

posted @ 2018-07-21 18:11  诚信天下  阅读(2104)  评论(0编辑  收藏  举报