Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中为web应用使用缓存?_Php_Ajax_Caching_Memcached - Fatal编程技术网

在PHP中为web应用使用缓存?

在PHP中为web应用使用缓存?,php,ajax,caching,memcached,Php,Ajax,Caching,Memcached,我正在考虑以PHP为主干构建一个简单的游戏,但这一次不是像经典的web游戏那样进行大量的post重定向,而是通过ajax进行更直接的响应。但是为了实现我想要的,我想我需要在服务器内存中存储一些信息(例如,玩家的位置),而不是数据库。我应该使用Memcached或APA之类的缓存库,还是有更好的替代方法?Memcached是缓存数据的好工具,因为它速度非常快,界面简单,但是如果要存储的数据需要稍微永久一些,如果数据丢失,您就无法重新创建,我推荐一些更耐用的。我使用过Membase(与memcach

我正在考虑以PHP为主干构建一个简单的游戏,但这一次不是像经典的web游戏那样进行大量的post重定向,而是通过ajax进行更直接的响应。但是为了实现我想要的,我想我需要在服务器内存中存储一些信息(例如,玩家的位置),而不是数据库。我应该使用Memcached或APA之类的缓存库,还是有更好的替代方法?

Memcached是缓存数据的好工具,因为它速度非常快,界面简单,但是如果要存储的数据需要稍微永久一些,如果数据丢失,您就无法重新创建,我推荐一些更耐用的。我使用过Membase(与memcached相同的接口,但最终会持久化到磁盘)和Redis(更健壮的接口,包括列表和更多)


一句话,如果是存储在其他地方但只想快速访问的信息,memcached非常好。如果您想要比SQL更轻的东西,但它将是存储信息的唯一地方,请尝试其他NoSQL解决方案

如果您在服务器内存中缓存信息,那么如果服务器重新启动(或崩溃并重新启动),这些信息将丢失。我不是来抨击PHP的,我非常喜欢它,但是对于状态完整的跨用户动态数据,您确定它是用于此项工作的工具吗?根据您提到的要求,我会更快地选择node或java服务器,出于游戏目的,我会选择WebSocket(如果可用),然后选择classic ajax。我曾高度考虑WebSocket,但唯一的问题是,我无法在任何托管计划中托管它。不过,我同意,如果可以的话,这绝对是更好的选择。我也可以使用php脚本与python脚本或Java程序接口,但我不确定这是否会与使用memcached相比有很大不同。