scala中使用redis

redis命令参考网址:http://doc.redisfans.com/index.html

创建redis集群:

import java.util.Properties
import java.io.FileInputStream
import java.util
import redis.clients.jedis.{HostAndPort, JedisCluster}
import org.apache.commons.pool2.impl.GenericObjectPoolConfig

object RedisUtil {
  private val propertiesPath = "/home/..." //配置文件本地地址
  private val properties = new Properties()
  properties.load(new FileInputStream(propertiesPath))
  private val jedisClusterNodes = new util.HashSet[HostAndPort]()
  private val IP = properties.getProperty("redisIP")
  private val redis_passwd = properties.getProperty("redis_passwd")
  private val ports = properties.getProperty("RedisPorts").split(",")
  for (i <- 0 until ports.size){
    jedisClusterNodes.add(new HostAndPort(IP,ports(i).toInt))
  }

  var cluster:JedisCluster = _

  def createJedisCluster(connecitonTimeout:Int = 60000,
                         soTimeout:Int = 60000,
                         maxAttempts:Int = 5):JedisCluster = {
    if (cluster == null){
      cluster = new JedisCluster(jedisClusterNodes, connecitonTimeout, soTimeout,maxAttempts,redis_passwd,new GenericObjectPoolConfig())
      cluster
    }
    cluster
  }
}

  

key键操作:

//删除key
cluster.del(key)
//判断key是否存在
cluster.exists(key)

  

list列表操作:

#key的value添加元素
cluster.lpush(key,value) //列表左添加
cluster.rpush(key,value) //列表右添加
#取出指定范围内的元素-闭区间,包括stop
cluster.lrange(key,start,stop) //start从0开始,-1表示列表最后一个元素,-2表示列表倒数第二个元素
//时间复杂度: O(S+N), S 为偏移量 start , N 为指定区间内元素的数量。
#取出全部元素
cluster.lrange(key,0,-1) //返回一个列表
#将列表 key 下标为 index 的元素的值设置为 value
cluster.lset(key,index,value)

  

posted @ 2019-10-08 17:46  糖醋排骨加辣椒  阅读(4034)  评论(0编辑  收藏  举报