sIsMember('question:vote:' . $questionId, $userId);"를 사용하여 반복 투표를 금지합니다."/> sIsMember('question:vote:' . $questionId, $userId);"를 사용하여 반복 투표를 금지합니다.">
PHP에서 반복 투표를 금지하는 방법: 먼저 투표를 세트에 넣은 다음 "$redis->sIsMember('question:vote:' . $questionId, $userId);"를 사용하여 반복 투표를 금지합니다. 그냥 투표하세요.
이 기사의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터
PHP에서 반복 투표를 금지하는 방법은 무엇입니까?
실제 투표든 온라인 투표든 유권자의 신원의 고유성이 보장되어야 합니다.
일반적으로 우리는 투표를 저장소에 저장하지만 데이터베이스에서 쿼리하기에는 확실히 너무 느립니다. 이제 redis(http://redis.io)를 사용하여 세트에 넣을 수 있습니다.
아래에서는 PHP 코드를 사용하여 이 프로세스를 보여줍니다. 다른 언어에서도 비슷합니다.
$userId = '111'; $questionId = '222'; // 用户111向问题222投票,那么我们把222的userId放到名为question:vote:111的set里 $redis->sAdd('question:vote:' . $questionId, $userId); // 判断222用户是否对111问题投过票了,只需判断111是否被包含在question:vote:111的set里 $isVoted = $redis->sIsMember('question:vote:' . $questionId, $userId); // 我们还可以取消投票,只需要从set里移除这个元素 $redis->sRem('question:vote:' . $questionId, $userId);
모든 작업은 메모리에서 매우 빠르게 수행됩니다.
권장 학습: "PHP 비디오 튜토리얼"
위 내용은 PHP에서 반복투표를 금지하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!