php sleep redis session_handler while

时间:2016-10-19 02:27:29

标签: php session redis sleep

我的应用程序在php.ini中将“session_handler”设置为Redis,当我编写以下代码时,Redis会话存储为零。我最初的想法是处理耗时任务并将当前进度值写入会话变量的方法,这是ajax轮询任务进度的另一种方法。

session_start();
$i = 1;
while ($i <= 10)
{

    $_SESSION['process_sync'] = $i;
    $i++;
    sleep(1);
}
$msg = "processing is over";
session_destroy();
print $msg;

我不知道睡眠时间是否过长,Redis连接将被关闭,但1秒不应该很长时间。或者$ _SESSION =“fang xing”赋值,Redis客户端没有立即向Redis服务器发送命令,但是在队列缓存中,换句话说这个操作没有被阻塞,其次是执行sleep,Redis客户端会把上面的说队列数据丢弃了吗? (我假设)

谁能告诉我这个原则:)

2 个答案:

答案 0 :(得分:0)

我认为会话是客户端无法直接访问的内容。我想通过Ajax传播进展会更好。

How to make progress bar with jQuery and PHP while waiting server process?

答案 1 :(得分:0)

会话将在请求关闭后写入文件。