帮忙写个插件,PHP计算时间插件

功能,计算出多少时间没有执行该程序了这得根据数据库来判断(最好是数据库)
比如,我1小时前登录后台执行了a.php清除缓存,然后2小时后登录后台就提示您已经XX小时没有清除缓存了

清除时间存数据库啊。。清除的时候就更新一下,登陆的时候读取一下。

看到人家的也是仅仅用一个文件就可以,不需要数据库之类的,但是不知道他是怎么实现的

这个很简单嘛,清除时保存一下时间,
计算数,当前时间减去上次执行时间就行啊。

用数据库保存也可,用文件缓存保存也可以。思路都说出来了,还剩下代码,一共也不过五行代码。
创建一个文件 timer.txt,每次请求这个PHP网页就检查当前时间与该文件的创建时间的差值是否大于或者等于2小时,如果不是,那么直接exit。如果是,那么执行你要执行的,执行完毕后,将该文件重新创建。
直接用个什么比如aa.lock文件记录一下time()就行了。每次登陆就去filemtime一下aa.lock文件的生成时间。

呵呵,用的是workbench呀,我感觉这个好像没有dbdesigner4好用点。
粗略看了一下。
project是各级模块吗?rbac表里的parentid是什么意思呢?

用 workbench 可以对现有数据库导出来,完成后再导回去,还可以生成yaml
project是项目文件,比如
/project
/admin
/front
都是项目,项目中可能有相同的模块
rbac是模块注册表 如果在这里注册了,会生成xxxACL.class.php文件
parentid是父ID,也是说每个方法的父ID是模块名。模块名对就的权限是all设置,就是xxxACL.class.php文件中的all设置。这样如果没有定义方法就按all来设置

哦,多项目统一配置,这下更清晰一点了。。
提个建议,前面就想说一下,rbac里面的那些个timestart,timeend,daystart...这些东西看起来是扩展性需求比较大,为何不把它们全部整合成一个text字段,json格式也行
{
  'timestart': '...'
  ,'timeend' : '...'
 
}
默认给一组设置,这样注册时需要添加一项或者去除一项都不需要动字段,只需要添加或去除表单,最终生成一个json串存回去。
还有到时候后台理应可管理各个project的各个模块的,所以我觉得rbac把模块分离出去比较好.rbac表再去关联模块表
汗,这个太复杂了,你把简单的事情给复杂化了,我采用了asp版的tsys思路做了一个php的通用权限控制系统,身材虽小,可是能力暴强悍

一,共享内存主案:只适用于显示用户在线状态(每秒万次并发在线)
  单独文件法没试过,没思路,感觉不可行.
二,独立服务器方案: 该服务器仅用于用户状态,30万人,每5分钟查询一次,每次一秒,可以要1000个并发.好一点的服务是能支持的.
  这里说一个内存表的问题,据说discuz当时就是用的内存表记录用户状态.
  没用过这个,但内存表是否还存在连接的问题?如果存在,也没有捷径.
  还有memcache,可以减速少查询次数据,但写数据入库可能也无法避免,所以了也没有捷径.
   
  这里有各种各样的优化法,但总体一条,就是要减少连接次数和查询时间,能从缓存中取的,就不要从数据库中取,能存客户端的,不要存服务器端.只在必要时连接.

三,其他方式,只是猜一下:如果你有方法打开一个服务,这个服务一直是持续连接,而且监听一个端口,可以有多个实例,共用一个连接,可能会大幅提高查询效率.
  或者有一个通道连接,高速处理数据.等等.



-------------实际操作中,有的程序有统一入口或写操作,比如你每点击一次就有feed,这个就可以 统计每分钟每小时多少人在线.这个实在.

如果心跳法.可以每分钟一次,但这个只用为统计用,而不作为其他.看能否用日志的方式.向一个文件中添加,然后分析日志

来源:英超直播

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值