本例演示了如何使用redis实现抽奖程序。
核心功能是:
添加参与者,防止重复参与者
随机抽取并删除参与者
package com.foxbill.redisinaction;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.Pipeline;
import java.util.Set;
/**
* 抽奖
*/
public class Chapter17 {
static String key="Chapter17:lottery";
static public void start(Jedis jedis) {
join(jedis);
draw(jedis);
}
//添加抽奖参与者
private static void join(Jedis jedis) {
for (int i = 0; i < 10; i++) {
jedis.sadd(key, "Player:" + i);
}
}
//抽奖
private static void draw(Jedis jedis){
//随机取,然后删除
String member = jedis.srandmember(key);
jedis.srem(key, member);
System.out.println("获奖者:" + member);
try {
Thread.sleep(1);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
member = jedis.srandmember(key);
jedis.srem(key, member);
System.out.println("获奖者:" + member);
}
}

被折叠的 条评论
为什么被折叠?



