这是一个创建于 1504 天前的主题,其中的信息可能已经有所发展或是发生改变。
最近刚接触 PHP,手里有一套远古时期的源码,里面有一个点击按钮切换状态的功能,使用了大量这样的语句:if ($a == 1) { $a = 2; } else if ($a == 2) { $a = 7; }……,加起来能有上万个 if,看着实在有点不舒服,于是就将其改为了 array 。结果改完了之后才发现 php 的变量在请求结束后就会清空,每一次请求都要初始化一遍 array 。
想问一下,就像这种在代码运行期间不会修改的映射数据,PHP 业界上一般都是怎么处理的?以前写 C#和 Java 的时候用惯 static 变量了,如果让我用 redis 啥的总感觉还是有那么一点点慢。
(补充一下,这个点击按钮切换状态的功能是这套源码的核心功能,估计至少 50%的请求会落在这上面)
3 条回复 • 2021-02-11 14:27:36 +08:00
 |
|
1
GGGG430 2021-02-11 10:37:26 +08:00 via iPhone 1
将 array 序列化 serialize 后,放在 apcu 里面,这是个代码层面的内存缓存
|
 |
|
2
eason1874 2021-02-11 10:38:37 +08:00 1
硬编码,内存缓存,配置文件
|
 |
|
3
carlclone 2021-02-11 14:27:36 +08:00 via Android
fpm 的 worker 是常驻的,扩展只初始化一次,还可以写成 c 扩展🐶
|