不同server间共用邀请码

之前的做的几款棋牌都是可以分享出邀请码,别人可以通过邀请码直接进入房间。之前的游戏互相之前都是独立的。但现在出现了新的需求,需要做一个类似合集的游戏,那么就要可以通过邀请码直接定位房间在哪个server.

以前的邀请码生成做的很简陋,大约就是在6位数中随机生成一个,然后查看和现有的是否重复,如果重复了就重新生成一次。单个server中没有什么问题,除非在线量非常大。但是这样的行为导致不同server之间生成的邀请码可能会重复。

现在打算采用这样一种方案,预先生成所有邀请码,100000 - 999999 随机打乱,放入redis中list结构中,实际内存占用不是很大,链表双向指针(8*2),再加上一个SDS结构(两个int 4 + 4 + 长度 6) , 90W * 30,差不多27M。每次生成邀请码时从list头取出一个,用完以后重新放到list尾部。
然后要做的就是针对每个邀请码存放对应的serverid就可以通过邀请码定位到server了。需要注意的是,如果server重启了,那么需要在redis中把先前的数据清除掉。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值