zoukankan      html  css  js  c++  java
  • 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工具类.

  • 相关阅读:
    github绑定host
    PHP安全过滤函数
    PHP界定符 <<<EOT
    file_get_contents模拟表单(POST/GET方式提交)
    排序算法(一)冒泡排序
    MySQL的limit查询优化
    SQL Server日期函数集合
    系统查找存储过程和触发器
    C#中跳转页面有那几种方法,简述其区别
    知道sql数据库中的哪个数据表最大
  • 原文地址:https://www.cnblogs.com/jonban/p/redis.html
Copyright © 2011-2022 走看看