• Java与redis交互、Jedis连接池JedisPool


    Java与redis交互比较常用的是Jedis。

    先导入jar包:

    commons-pool2-2.3.jar

    jedis-2.7.0.jar

    基本使用:

    public class RedisTest1 {
        public static void main(String[] args) {
            Jedis jedis = new Jedis("localhost",6379);
            jedis.set("username","chichung");
            jedis.close();
        }
    }

    Jedis对象基本和redis的命令一模一样,这里不啰嗦了。

     

    • JedisPool连接池

     类似于mysql连接池,jedis也有连接池。

    基本使用如下:

    public class RedisTest2 {
        public static void main(String[] args) {
            // 比较特殊的是,redis连接池的配置首先要创建一个连接池配置对象
            JedisPoolConfig config = new JedisPoolConfig();
            // 当然这里还有设置属性的代码
    
            // 创建Jedis连接池对象
            JedisPool jedisPool = new JedisPool(config,"localhost",6379);
    
            // 获取连接
            Jedis jedis = jedisPool.getResource();
    
            // 使用
    
            // 关闭,归还连接到连接池
            jedis.close();
        }
    }

    一般可以抽取出来作为一个工具类使用:

    例如有一个配置文件jedis.properties。

    里面的内容如下:

    host=127.0.0.1
    port=6379
    maxTotal=50
    maxIdle=10

    工具类代码如下:

    package com.chichung.redis;
    
    import redis.clients.jedis.Jedis;
    import redis.clients.jedis.JedisPool;
    import redis.clients.jedis.JedisPoolConfig;
    
    import java.io.IOException;
    import java.io.InputStream;
    import java.util.Properties;
    
    public class JedisPoolUtils {
        private static JedisPool jedisPool;
    
        static {
            InputStream is = JedisPoolUtils.class.getClassLoader().getResourceAsStream("jedis.properties");
            Properties properties = new Properties();
            try {
                properties.load(is);
            } catch (IOException e) {
                e.printStackTrace();
            }
    
            JedisPoolConfig config = new JedisPoolConfig();
            config.setMaxTotal(Integer.parseInt(properties.getProperty("maxTotal")));
            config.setMaxIdle(Integer.parseInt(properties.getProperty("maxIdle")));
    
            jedisPool = new JedisPool(config,
                    properties.getProperty("host"),
                    Integer.parseInt(properties.getProperty("port")));
    
        }
    
        public static Jedis getJedis(){
            return jedisPool.getResource();
        }
    
    
    }
  • 相关阅读:
    IE、FF、Chrome浏览器中的JS差异介绍
    防止 jsp被sql注入的五种方法
    读取Excel数据到Table表中
    C#获取IP地址
    JavaScript之web通信
    Unity使用 转载
    EF5 通用数据层 增删改查操作,泛型类
    Entity FrameWork 5 增删改查 & 直接调用sql语句
    asp.net重启web应用程序域
    .net创建activex实现摄像头拍照
  • 原文地址:https://www.cnblogs.com/chichung/p/10360744.html
Copyright © 2020-2023  润新知