【问题标题】:Cannot use apc_fetch to fetch a stored variable from the cache无法使用 apc_fetch 从缓存中获取存储的变量
【发布时间】:2020-05-20 02:16:46
【问题描述】:

环境:PHP:版本 7.3 操作系统:Ubuntu 18.04

引用如下:

PHP - apc_store

PHP - apc_fetch


我无法使用单独的 PHP 脚本“file2”中的 apc_fetch 来访问存储的缓存。

从 file1 触发 apc_fetch 时确实有效。


文件:1_store_variable_in_memory.php

<?php

$token = "my_token_value";
apc_store('token_1', $token);
// var_dump(apc_fetch('token_1')); // Moved to file 2

文件:2_access_memory_stored_variable.php

<?php

var_dump(apc_fetch('token_1'));

文件 2 的结果:

bool(false)

文件 2 的预期结果:

string(14) "my_token_value"

【问题讨论】:

  • 你不能这样使用 APC。存储的数据不会在这样的进程之间共享。你可能想使用其他东西,比如 redis 或 memcached
  • @matiit 明白了,请将您的评论移到答案中,我会批准答案。

标签: php caching apc php-7.3


【解决方案1】:

PHP cli中的APC在进程结束后被清除,而且多个php cli进程之间不共享内存;因此,这可能不是您要用来解决问题的工具。

如果您需要在进程之间持久化的缓存,请尝试 Redis 或 memcached。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-22
    • 1970-01-01
    • 1970-01-01
    • 2014-03-24
    • 1970-01-01
    • 2013-03-14
    • 1970-01-01
    相关资源
    最近更新 更多