怎么只加载一次文件到变量中
程序员文章站
2024-01-15 17:13:28
...
如何只加载一次文件到变量中
应用场景是这样子的:
我有一个csv的文件,包含一些key-value的映射关系,一般情况下是不变的。
好几个不同的界面都需要使用这个文件中的数据,所以我想一次性加载,其它界面调用就行了。
我使用单例模式和_GLOBALS都不能保证load一次,每次刷新界面都load一次。
请问如何处理?
------解决方案--------------------
php是短连接,一次性加载然后读取不好做
------解决方案--------------------
最好贴出代码看看。
------解决方案--------------------
由于每次请求都是单独的进程,所以“普通变量”是无法共享的。可以将数据放置到可以统一访问的地方:
1.文件中(不就是你原来的文件么。。嘻嘻,其实可以存成k v数组,不必每次读取csv文件)
2.session中。
3.内存中(参考memcached、redis等内存缓存的原理,kv的常用存储)
4.数据库中。
5.其他可共享的storage中。
关键不在于是不是load一次。而在于load的性能。
应用场景是这样子的:
我有一个csv的文件,包含一些key-value的映射关系,一般情况下是不变的。
好几个不同的界面都需要使用这个文件中的数据,所以我想一次性加载,其它界面调用就行了。
我使用单例模式和_GLOBALS都不能保证load一次,每次刷新界面都load一次。
请问如何处理?
------解决方案--------------------
php是短连接,一次性加载然后读取不好做
------解决方案--------------------
最好贴出代码看看。
------解决方案--------------------
由于每次请求都是单独的进程,所以“普通变量”是无法共享的。可以将数据放置到可以统一访问的地方:
1.文件中(不就是你原来的文件么。。嘻嘻,其实可以存成k v数组,不必每次读取csv文件)
2.session中。
3.内存中(参考memcached、redis等内存缓存的原理,kv的常用存储)
4.数据库中。
5.其他可共享的storage中。
关键不在于是不是load一次。而在于load的性能。
相关文章
相关视频