话不多说,代码献上:
package com.utils
import redis.clients.jedis.{Jedis, JedisPool, JedisPoolConfig}
object JedisConnectionPool {
//连接配置
val config= new JedisPoolConfig
//最大连接数
config.setMaxTotal(20)
//最大空闲连接数
config.setMaxIdle(10)
//设置连接池属性分别有: 配置 主机名 端口号 连接超时时间 Redis密码
val pool=new JedisPool(config,"192.168.147.133",6379,10000,"123")
//连接池
def getConnections(): Jedis ={
pool.getResource
}
}
调用时直接使用即可
val jedis = JedisConnectionPool.getConnections()
在spark中一般连接池的方法是在佛foreachRDD下的foreachpartition下使用