把好运留给你利用Redis给房间进行随机分组(redis 随机分组房间)
把好运留给你:利用Redis给房间进行随机分组
「把好运留给你!」这个口号表达的最好的就是:给生活中的某些事物获取随机机会,从随机中找到机会!同样的道理,当我们需要对一个房间的人进行随机分组,也可以利用Redis来实现这一目的!
要实现上面的目标,首先我们要准备一些必要的工具:首先是Redis,另外还需要一个[random-set](https://github.com/moshest/random-set)库,它可以让Redis的[SMEMBERS](https://redis.io/commands/smembers)支持随机索引,从而让我们使用Redis来实现随机分组目标!
接下来我们就可以开始编写代码了!我们将房间的信息存储在Redis的一个Name-Set中,比如room1。用一个循环,我们可以从Name-Set中取出所有的名字,然后放进一个Array数组中:
`javascript
let room = room1
let names = [];
client.smembers(room,function(err,value){ // 从room1中获取Name-Set
if(err) throw err;
names = value;
});
接下来我们要使用random-set库来实现随机取值,它支持SMEMBERS指令。因此,我们可以使用random-set函数从Array中取出随机names。
```javascriptlet target_num = names.length / 2; // 随机生成房间分配数量
let random_names = RandomSet.randomSet(names,target_num);
我们可以将random-names取出并且平均随机分配到新的分组中:
`javascript
let group_num = 2; // 房间分组数量
let group_array = [];
while(random_names.length 0){
let temp_arr = []
for(let i=0; i
let name = random_names.pop();
temp_arr.push(name);
}
group_array.push(temp_arr);
}
现在,我们已经可以将房间的人进行随机分组,从而获取机会,让更多的朋友把好运留给你!
我想要获取技术服务或软件
服务范围:MySQL、ORACLE、SQLSERVER、MongoDB、PostgreSQL 、程序问题
服务方式:远程服务、电话支持、现场服务,沟通指定方式服务
技术标签:数据恢复、安装配置、数据迁移、集群容灾、异常处理、其它问题
本站部分文章参考或来源于网络,如有侵权请联系站长。
数据库远程运维 把好运留给你利用Redis给房间进行随机分组(redis 随机分组房间)
相关文章
- 利用Redis实现主从切换(redis切换主从)
- 利用Redis优化数据库存储(redis作为数据库)
- Redis面试技巧经验大全(redis面试题大全)
- 利用 Redis 实现永不过期(redis设置永不过期)
- 利用Redis实现高效统计数据的方法(redis统计)
- 玩转Redis集群,实现性能提升(怎么看redis集群)
- 有效利用Redis获得有限内存空间(开发中redis内存多少)
- 多彩日志利用Redis收集系统信息(用redis收集系统日志)
- 为Redis清理不必要的表(清空redis某一个表)
- 连接挣扎无法建立Redis连接(无法创建redis)
- 实现数据库表到Redis的转移(数据库表转redis)
- 利用Redis精准统计监控系统性能(利用redis做统计监控)
- 分布式访问Redis从分库读取进行升级(分库读取redis)
- 从Redis中取值的可视化之旅(从redis中取值)
- 取消订单Redis解决之道(取消订单redis)
- 利用Redis确保高效运行(redis高效使用)
- 优化利用 Redis 集群实现速度优化(redis集群速度)
- Redis进程查询利用命令行接管之道(redis进程查询命令行)
- 安全访问Redis借助密码器输入保护(redis输入密码器)
- Redis账号认证在保护网络安全的前提下快速而安全地访问(redis账号认证)
- Redis实现登录超时机制的应用(redis设置登录超时)
- 利用Redis简化数据设置(redis 设置raw)
- 利用Redis进行缓存技术,解决性能问题(redis 解决什么问题)
- 利用Redis命名节点,打造优化环境(redis节点名称)
- 利用Redis缓存实现无状态架构变革(redis缓存无状态改造)