Redis初始化配置及增刪改查

package com.calc.tools

import redis.clients.jedis.JedisPool
import redis.clients.jedis.Jedis
import redis.clients.jedis.JedisPoolConfig
import java.util.HashMap

object Redis {

  var shardedJedisPool: JedisPool = null
  var shardedJedis: Jedis = null

  var ADDR: String = "" //redis ip address
  var AUTH: String = "" //redis password
  var PORT: Int = 6379 //redis port  默認6379
  val TIMEOUT: Int = 10000

  def initRedis() {
    val config: JedisPoolConfig = new JedisPoolConfig();
    config.setMaxTotal(100);
    config.setMaxIdle(10);
    config.setMaxWaitMillis(-1);
    config.setTestOnBorrow(true);
    shardedJedisPool = new JedisPool(config, ADDR, PORT, TIMEOUT, AUTH);
    shardedJedis = shardedJedisPool.getResource
  }

  /**
   * 獲取redis中key對應的全部數據
   */
  def getAllKeys(key: String) {
    initRedis()
    println(shardedJedis.hkeys(key))
    shardedJedisPool.returnResourceObject(shardedJedis)
  }

  /**
   * 刪除redis中key對應的全部數據
   */
  def deleteAll(key: String) {
    initRedis()
    shardedJedis.del(key)
    shardedJedisPool.returnResourceObject(shardedJedis)
  }

  /**
   * 將String的數據存放到到redis中
   */
  def insertRedisDo(key: String, field: String, value: String): Long = {
    initRedis()
    var ret: Long = shardedJedis.hset(key, field, value)
    shardedJedisPool.returnResourceObject(shardedJedis)
    return ret
  }

  /**
   * 將hashmap集合中的數據存放到到redis中
   * *
   */
  def insertRedisByHashmap(key: String, map: HashMap[String, String]) {
    initRedis()
    shardedJedis.hmset(key, map)
    shardedJedisPool.returnResource(shardedJedis);
  }

  def main(args: Array[String]): Unit = {

    val key: String = "I love you !"
    val field: String = "add this field ! "
    val value: String = "this is value into redis !"

    //插入字符串到redis   若是key和field在redis中已存在,則覆蓋,至關月更新功能
    println(insertRedisDo(key, field, value))

    var map: HashMap[String, String] = new HashMap[String, String]
    map.put("field1", "value1")
    map.put("field2", "value2")
    //批量插入HashMap到redis
    println(insertRedisByHashmap(key, map))
    //刪除key下全部數據
    println(deleteAll(key))
    //獲取key下全部數據
    getAllKeys(key)

  }

}

其中,ADDR是redis服務器的地址;AUTH是redis的獨立密碼。java

完成。redis

相關文章
相關標籤/搜索