PHPで繰り返しの投票を禁止する方法

藏色散人
リリース: 2023-03-11 17:30:01
オリジナル
1766 人が閲覧しました

php で繰り返しの投票を禁止する方法: 最初に投票をセットに入れてから、「$redis->sIsMember('question:vote:' . $questionId, $userId);」などを渡します。方法は、重複投票を禁止することです。

PHPで繰り返しの投票を禁止する方法

#この記事の動作環境:Windows7 システム、PHP7.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 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート