1. 云栖社区>
  2. PHP教程>
  3. 正文

redis 主从 如何限制用户签到一次

作者:用户 来源:互联网 时间:2017-12-01 15:46:58

redis用户主从签到限制如何

redis 主从 如何限制用户签到一次 - 摘要: 本文讲的是redis 主从 如何限制用户签到一次,最近有个每日签到的活动 用户每天只能签到一次。 一开始考虑用 get set 但是万一并发情况下刚刚set 为1 然后再去get 数据的时候 从库数据 延迟还没同步过来 还岂不是又可以签到一下get set 完全满足不了 这个需求的原子性要

最近有个每日签到的活动 用户每天只能签到一次。 一开始考虑用 get set 但是万一并发情况下
刚刚set 为1 然后再去get 数据的时候 从库数据 延迟还没同步过来 还岂不是又可以签到一下
get set 完全满足不了 这个需求的原子性要求
后面找到  incrby 统一操作 主库


redis incrby
将key所储存的值加上增量increment。


如果key不存在,以0为key的初始值,然后执行INCRBY命令。


总体测试代码如下:

<?php $redis=new redis();$redis->connect('127.0.0.1','6379');$user_id=1;$redis_key=sprintf('redis_sign_user_%d',$user_id);//如果已经签到过if($redis->incrby($user_id)>1){	echo '您已经签到!';}?>


以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索redis , 用户 , 主从 , 签到 , 限制 如何 ,以便于您获取更多的相关知识。