千家信息网

redis如何做连接池

发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,这篇文章将为大家详细讲解有关 redis如何做连接池,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。redis针对每个链接请求也可以像数据库那样做池化处理,具体应用如
千家信息网最后更新 2024年11月23日redis如何做连接池

这篇文章将为大家详细讲解有关 redis如何做连接池,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

redis针对每个链接请求也可以像数据库那样做池化处理,具体应用如下:

package redisOne;import redis.clients.jedis.JedisPool;import redis.clients.jedis.JedisPoolConfig;public class RedisPoolUtil {        private static JedisPool jedisPool = null;        static {                JedisPoolConfig config = new JedisPoolConfig();                //连接耗尽时是否阻塞, false报异常,ture阻塞直到超时, 默认true                config.setBlockWhenExhausted(true);                //是否启用后进先出, 默认true                config.setLifo(true);                //最大空闲连接数, 默认8个                config.setMaxIdle(8);                //最大连接数, 默认8个                config.setMaxTotal(8);                //获取连接时的最大等待毫秒数(如果设置为阻塞时BlockWhenExhausted),如果超时就抛异常, 小于零:阻塞不确定的时间,  默认-1                config.setMaxWaitMillis(-1);                //逐出连接的最小空闲时间 默认1800000毫秒(30分钟)                config.setMinEvictableIdleTimeMillis(1800000);                //最小空闲连接数, 默认0                config.setMinIdle(0);                //每次逐出检查时 逐出的最大数目 如果为负数就是 : 1/abs(n), 默认3                config.setNumTestsPerEvictionRun(3);                //对象空闲多久后逐出, 当空闲时间>该值 且 空闲连接>最大空闲数 时直接逐出,不再根据MinEvictableIdleTimeMillis判断  (默认逐出策略)                   config.setSoftMinEvictableIdleTimeMillis(1800000);                //在获取连接的时候检查有效性, 默认false                config.setTestOnBorrow(false);                //在空闲时检查有效性, 默认false                config.setTestWhileIdle(false);                //逐出扫描的时间间隔(毫秒) 如果为负数,则不运行逐出线程, 默认-1                config.setTimeBetweenEvictionRunsMillis(-1);                jedisPool = new JedisPool(config, "localhost", 6379);        }        public static String getOneKey(String key) {                String value = jedisPool.getResource().get(key);                return value;        }        public static void setOneKey(String key, String value) {                jedisPool.getResource().set(key, value);        }        public static void main(String[] args) {                RedisPoolUtil.setOneKey("liuc", "liuc");                System.out.println(RedisPoolUtil.getOneKey("liuc"));        }}

对于使用spring做bean管理的,可以采用如下配置

                                                                                                                                                                                                                                                                                                                                                                                

关于" redis如何做连接池"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

0