暂时不考虑 ip
,什么的限制,只考虑 手机号限制,
如何用redis
做到限制,一个手机号,1分钟内最多发一条,一天内最多10条
各位大神有什么好方案,先谢!(崇拜脸)
漂亮男人2017-04-27 09:05:05
두 개의 캐시가 필요합니다
키 이름 통화 중, 1분 동안 캐시됨
키 이름 전화 전송 횟수, 1일 동안 캐시됨, 성공적으로 전송될 때마다 +1
보내는 과정은 다음과 같습니다.
"sent too fast"라는 직접적인 오류가 있는 경우 전화 통화 중이 있는지 확인합니다.
전화 발신 횟수가 있는지 확인합니다. 존재하는 경우 계속해서 10인지 확인합니다. 존재하고 10인 경우 "오늘 문자 메시지를 보낼 수 없습니다."라는 오류가 발생합니다. 신고
SMS 보내기
쓰기 통화 중, 1분간 유효
phone-send-count+1, 유효일 23시 59분 59초의 타임스탬프 - 현재 타임스탬프를 씁니다
我想大声告诉你2017-04-27 09:05:05
분당 최대 1개 메시지(분 및 전화번호 기준):min:201701041750:13888888888
하루 최대 10개 메시지(날짜 및 전화번호 기준):day:20170104:13888888888
伊谢尔伦2017-04-27 09:05:05
다음과 같이 의사 코드를 작성하세요.
으아악이것은 유연하고 변경 가능한 구성 파일로 전송 제한을 1분 또는 1일로 설정할 수 있다는 의미입니다.
1월 5일 개정
여기 내 친구 @Lowky가 일일 한도가 1일인지 24시간인지에 대한 질문을 상기시켰습니다. 두 개념이 다르기 때문입니다. 여기서 가장 중요한 점은 하루 10개 아이템 제한이 있고, 매일 이른 아침에 한도가 공개된다는 점입니다. 매 순간 이것에 대해 생각하는 것을 멈춰야 합니다. 코드는 다음과 같이 수정됩니다.
으아악PHP中文网2017-04-27 09:05:05
첫 번째 질문은 만료 시간을 설정하면 달성할 수 있습니다. Redis에 휴대폰 번호가 존재하는 한 1분이 지나지 않았다는 의미입니다.
두 번째 질문은 매번 카운터를 변경하는 것입니다. 전송되고 카운터 만료 시간이 1일로 설정됩니다.
ringa_lee2017-04-27 09:05:05
간단한 지침:
열쇠 2개가 필요합니다
1분 후에 만료되는 키
24시간 후에 만료되는 키
SMS 사업에 따르면 정산은 0시가 아닌 유효기간을 기준으로 이뤄진다.