Redis 工具类---代码

package com.tiantu.spark.hdp


import redis.clients.jedis.{Jedis, JedisPool, JedisPoolConfig}

/**
 * TODO
 *
 * @author hell
 * @date2020/12/25 15:46
 *
 */
object RedisUtil {

  @volatile private var jedisPool: JedisPool = null


  /**
   * 获取JedisPool 实例
   */
  def getResource() = {
    if (jedisPool == null) {
      synchronized(
        if (jedisPool == null) {
          val config = new JedisPoolConfig
          config.setMaxTotal(5)
          config.setMaxIdle(2)
          config.setMaxWaitMillis(3000)
          jedisPool = new JedisPool(config, "192.168.0.90", 6379);
        }
      )
    }

    jedisPool.getResource

  }


  /**
   * 释放JedisPool 连接资源
   *
   * @param jedis
   */
  def returnResource(jedis: Jedis) = {
    if (jedis != null) jedis.close()
  }


  /**
   * 原子计数器
   *
   * @param key
   * @param step
   * @return
   */
  def incrBy(key: String, step: Long): Long = {
    val jedis = getResource()
    val count = jedis.incrBy(key, step)
    returnResource(jedis)
    count
  }

  /**
   * 通过key找到value
   */

  def getRedsis(key: String): String = {
    val redis = getResource()
    val str = redis.get(key)
    RedisUtil.returnResource(redis)
    str
  }

  /**
   * 存储key-value
   */
  def setRedsis(key: String, value: String): Unit = {
    val redis = getResource()
    redis.set(key, value.toString)
    RedisUtil.returnResource(redis)
  }

}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值