需要做一个lol英雄出场排行榜
通过redis zset结构实现
maven
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>${scala.version}</version>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.7.1</version><!--版本号可根据实际情况填写-->
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.3.2</version><!--版本号可根据实际情况填写-->
</dependency>
更新英雄出场次数到redis
package redis
import java.util
import redis.clients.jedis.{Jedis, Tuple}
import scala.util.Random
/**
* @date :2021/8/3 12:30
* @author :xiaotao
* @description :更新英雄出场次数到redis
*/
object IdeaToRedisDemo {
def main(args: Array[String]): Unit = {
//生成访问数据
val heros = Array("易大师", "盖伦", "金克斯", "奥巴马", "瞎子", "安妮", "光辉", "石头")
val random = new Random()
//获取redis连接
val jedis = new Jedis("wxt02",6379)
jedis.auth("123456")
while(true){
//随机挑一个英雄
val hero = heros(random.nextInt(heros.length))
//更新redis中的英雄出场次数
jedis.zincrby("chuchangbang",1,hero)
//玩
println("敌人30秒后将到达战场.... 人在塔在....")
Thread.sleep(200)
}
}
}
redis中的数据
排行榜数据更新
package redis
import java.util
import redis.clients.jedis.{Jedis, Tuple}
/**
* @date :2021/8/3 13:02
* @author :xiaotao
* @description :排行榜数据更新
*/
object RedisToIdeaDemo {
def main(args: Array[String]): Unit = {
//排行榜数据更新
//连接redis数据库
val jedis = new Jedis("wxt02",6379)
jedis.auth("123456")
while(true){
val zrevrangeWithScores : util.Set[Tuple] = jedis.zrevrangeWithScores("chuchangbang",0,-1)
import scala.collection.JavaConversions._
for (tuple <- zrevrangeWithScores){
println(tuple.getElement+":"+tuple.getScore)
}
Thread.sleep(2000)
println("----------------------------------")
}
}
}