php的会员模块对会员期限、会员升级怎么做?

1、会员分1,2,3,4四个等级,默认期限一年;
2、登陆时来判断会员是否过期修改状态吗?
3、1级会员升2级会员后会员信息改变怎么存库?等2级会员到期后再变为1级会员

阅读 5k
3 个回答

对于题主的应用场景,我想有两种思路供题主参考。
1.就像题主所说的,在登录的时候做会员状态检查,并根据情况修改会员状态。
优点:不需要开启守护进程或定时任务,实现简单。
缺点
每次会员登录都要做一次状态检查会延长页面加载时间
会员等级信息修改滞后。可能造成会员已经过了一年期限,但由于会员没有登录,所以等级信息一直没有修改的情况

2.写一个脚本实时监控
优点:可以实时修改会员状态信息,不需要登录后检查从而加快页面打开速度
缺点:占用服务器资源(如果用户量很大的话,运行这个脚本会很占用服务器资源)

跑脚本,获取过期时间,判断是否过期,过期则vip--;

就像限时抢购程序一样,个人认为两者场景基本一致,写一个 php 脚本,update.php

while (true)
{
    $vip_effective_time = null; // 获取 vip 有效期
    $time = time(); // 当前时间
    
    if ($time > $vip_effective_time) {
        // 会员过期
        做一些事情
    }
    
    sleep(1);
}

开一个命令行窗口:

php update.php

窗口不要关闭!或者你把它弄成守护进程(这个我不会..汗)也行

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题