我的应用程序在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客户端会把上面的说队列数据丢弃了吗? (我假设)
谁能告诉我这个原则:)
答案 0 :(得分:0)
我认为会话是客户端无法直接访问的内容。我想通过Ajax传播进展会更好。
How to make progress bar with jQuery and PHP while waiting server process?
答案 1 :(得分:0)
会话将在请求关闭后写入文件。