php - Redis高并发的一个小问题

查看:109
本文介绍了php - Redis高并发的一个小问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

RT,现在有个客户报名小功能,要求:每个客户只能报名一次;
由于客户量大,预计峰值并发到达 1W/S,那么问题来了,使用 Redis 如何实现该需求?

能上代码的朋友感激不尽!

解决方案

hincrby即可解决
数据存储:将报名信息保存到一个hash结构中,hash里面的key使用用户id,value是报名次数
报名:直接使用hincrby命令,将对应的userId的value+1,如果之前没报名,返回1,大于1表示已报过名。
并发问题:再大的并发量这个方案都不会有任何问题,因为可以重复提交报名信息,而且每个步骤都是原子性的,hincrby的性能接近O(1),效率也不低,如果需要前端提示重复报名,可根据hincrby返回值是否>1来判断。

这篇关于php - Redis高并发的一个小问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆