现在的架构是这样的,mysql主备,redis主备,两台应用服务器,前面nginx做负载均衡。
现在想要发放一组类似邀请码(由其他渠道提供,不可改变的)的东西,每个用户发放一个,一共有1W个,也就是说只有前一W个用户可以拿到,现在比较纠结是把已生成好的邀请码存放在db,还是redis ?
请大神给一个解决方案(关于多线程的控制)。
一万条数据不多,直接放队列,然后用LPOP操作就OK,因为Redis所有操作都是原子操作,所以多个线程同时对列表进行LPOP也没关系。下面是LPOP命令:
`LPOP
LPOP key`
移除并返回列表key的头元素。
时间复杂度:
O(1)
返回值:
列表的头元素。
当key不存在时,返回nil。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。