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