scala中使用redis

Posted xl717

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)

  

以上是关于scala中使用redis的主要内容,如果未能解决你的问题,请参考以下文章

scala怎样创建redis集群连接池

spark读取redis数据(交互式,scala单机版,java单机版)

spark读取redis数据(交互式,scala单机版,java单机版)

Play 2.2:使用 Play Caching (Scala) 对代码进行单元测试时出现问题

scala语法基础1

Redis中五大数据结构的底层实现