我有一个PHP应用程序,我希望限制在任何给定时间可以活动的用户数量.我希望保持尽可能轻,因为实现它的原因是因为我们当前的服务器无法处理负载 - 因此这是一个临时解决方案,直到我们可以升级.我们将会话存储在memcache中,因此我编写了以下脚本来计算活动会话并将其存储在平面文件中 - 此脚本每5分钟运行一次.
<?php
$memcache = new Memcache;
$memcache->connect('127.0.0.1', 11211);
$activeSessions = $memcache->getStats();
$file_content = <<<TEXT
<?php
\$activeSessions = {$activeSessions['curr_items']};
?>
TEXT;
file_put_contents("activesessions.php", $file_content);
?>
Run Code Online (Sandbox Code Playgroud)
现在位于每个页面的顶部,很容易找出当前有多少用户活动...我现在的问题是,是否有超过限制来阻止更多人创建会话.这是一个问题的原因是我无法告诉加载页面的用户是否已经有一个活动的会话而没有做类似的事情:
<?php
include ('activesessions.php');
//uid is the users facebook id
session_id(md5($uid.$secret));
session_start();
if ($activeSessions > $limit && empty($_SESSION))
{
session_destroy();
include('limit_message.php');
exit;
}
?>
Run Code Online (Sandbox Code Playgroud)
应该做的伎俩,但在此过程中,它将创建一个会话来检查会话是否存在:S ...因此扭曲我的活动会话计数.
所以基本上我有一个解决方案......我的问题是,是否有人有更好的解决方案?如果您认为我的解决方案是最好的,请评论或投票让我知道:D
请帮忙 :)
可能重复:
如何获得一个月的最后一天?
到目前为止,我有这个:
DateTime createDate = new DateTime(year, month, 1).AddMonths(1).AddDays(-1);
Run Code Online (Sandbox Code Playgroud)
有没有更好的办法?
默认情况下用
<%: Html.EditorFor(m => m.ConfirmationHeadline) %>
Run Code Online (Sandbox Code Playgroud)
输出是:
<input type="text" value=""
name="ConfirmationHeadline" id="ConfirmationHeadline"
class="text-box single-line">
Run Code Online (Sandbox Code Playgroud)
如您所见,输入已附加class属性.嗯,这不应该是一个问题,只需使用
<%: Html.EditorFor(m => m.ConfirmationHeadline, new { @class="span-11 last"}) %>
Run Code Online (Sandbox Code Playgroud)
应该工作...... 错误......不!
这将输出完全相同的代码!
虽然,工作正常 Html.TextAreaFor()
如何从中删除该类text-box single-line,以便可以附加我自己的类?我应该编辑的任何T4模板?
谢谢你的帮助.
我已多次阅读这篇文章:
http://jonasboner.com/2008/10/06/real-world-scala-dependency-injection-di.html
我想我明白了.然而,有一些我不太了解的东西.
看看他的UserService示例,我看到他设置了UserRepositoryComponent来封装UserRepository.但我不明白的是UserRepositoryComponent扮演两个角色的原因:它封装了UserRepository,还提供了对UserRepository对象的引用.
我试图想象如果我想创建依赖于两个 UserRepository实例的服务,我将如何使用此模式.也许新服务的工作是将用户从"源"UserRepository复制到"目标"UserRepository.所以我想象的是这样的:
trait CopyUserServiceComponent {
val source: UserRepositoryComponent
val destination: UserRepositoryComponent
class CopyUserServiceComponent {
...
}
}
Run Code Online (Sandbox Code Playgroud)
但这与原始模式不同.在这种情况下,我在组件本身中定义依赖项,而不是从其他组件继承它们.但在我看来,这是正确的方法:组件应该声明它们的依赖关系,而不是它们包含的服务的实例.
我在这里错过了什么?
我需要一个像powerbasic这样的小程序来编译在windows控制台上运行的基本应用程序(很小,所以不能选择微软快递版).你有什么建议我的?
在Eclipse中使用断点时,我有时会注意到它们有不同的图标/注释(左侧边栏上的标记).有时它只是一个蓝色的球,有时候它上面有一个勾号,有时它会被划掉.所有这些注释意味着什么?
我在页面标题部分有一个带有标题的报告,该数据在“导出到Excel(仅数据)”报告中不可见。
请让我知道我做了什么更改,因为在编辑报表布局之前,它以前是可见的。
提前致谢
可能重复:
R中的数字比较难度
大家好,
根据"R Inferno"论文.我现在正处于R地狱的第一圈.这是异教徒期望0.1 == 0.3/3的地方.Paper建议all.equal在这种情况下使用函数,但是我需要检查"> ="或"<="条件.目前他们的例子失败了:
> .1 >= .3/3
[1] TRUE
> .1 <= .3/3
[1] FALSE
Run Code Online (Sandbox Code Playgroud)
是否有类似于all.equal的函数来检查不等式?
谢谢,
伊利亚
如果计算机的"唤醒"事件传播到浏览器并在JavaScript API中可用,那就太好了.有谁知道这样的事情是否实施了?