如何使用ajax、php或jquery缓存信息


how do you cache information using ajax, php, or jquery?

我正在尝试理解缓存数据的使用。我对此略知一二。它帮助数据加载速度更快,因为它将信息存储在浏览器中。

如果有人能帮助我更好地理解这一点,我会很感激。另外,是否可以缓存输入字段中的值并检索或存储以供以后使用?如果是这样,谁能给我展示一个如何在PHP、ajax或jquery中实现它的示例,或者给我一个教程?

谢谢!

这一季的流行趋势是使用localStorage在客户端机器上存储数据。例如:http://php-html.net/tutorials/html5-local-storage-guide/

缓存是位于数据源(数据库,硬盘驱动器,web资源等)和需要访问该数据源的东西之间的东西。其思想是,从缓存访问数据应该比直接从数据源访问数据快

如果你想存储文本字段值供以后使用,(不知道更多关于你的设置细节),我认为你正在寻找一个cookie。

当用户在文本框中输入文本时,使用javascript设置cookie

下次用户访问页面时,你可以使用javascript来检索他们在文本框中输入的内容,看看cookie是否存在,如果存在,里面有什么。

注意,这个方法将在用户的计算机上缓存数据,而不是在你的web服务器上。如果您想将这些值存储在web服务器上,那么您需要在用户提交表单时将它们写入文件或数据库,或者使用AJAX将输入表单的值异步发送到PHP后端,以便它可以将值存储在那里。

如果你能更具体一点关于你想要缓存/存储的为什么你认为你应该这样做,那么我们可以通过一些代码示例给你一个更好的质量的答案。

请准确描述你的问题是什么,以及你期望解决方案做什么。

编辑:从你之前的问题来看,你似乎想要某种自动完成功能。有两种类型:

1)自动完成用户之前输入的内容:

当用户提交表单时,您可以做以下三件事之一:

a)将输入的文本存储在数据库中。当用户下次访问该页面时,使用PHP将之前的搜索嵌入到javascript中(可能作为数组)。当用户在文本框中输入时,使用javascript显示自动完成框。(对于用户来说更快,如果您希望为每个用户存储大量以前的输入,则不太实用)

b)将输入的文本存储在数据库中。当用户访问页面时,使用AJAX在他们键入时检索最可能的匹配项。(对用户来说比较慢,但如果您期望每个用户保存大量搜索,则更好)

c)将文本输入存储在cookie中。当用户提交表单时,将输入保存在cookie中。您可以在多个cookie中存储多个搜索,也可以在一个带分隔符的cookie中存储一个搜索。请注意,cookie的最大大小(包括它的名称和其他详细信息是4K,所以你应该保持它的主体在4000字节以下)。

注意:如果这样配置,浏览器应该自动自动完成用户之前输入的内容。你想要自己实现这种类型的自动完成的唯一原因是如果你想要一些跨浏览器或跨系统的功能。

2)预测性自动完成,就像在做谷歌搜索。

这个方法基本上与1b的工作原理相同。您将在数据库中存储以前或建议的搜索词列表。当用户在输入字段中键入文本时,AJAX请求将获取用户正在搜索的最可能的候选内容。

看情况。你几乎每次都可以缓存图像,css, js,因为它们总是一样的。你不需要做任何事情,它们应该自动缓存。

您也可以缓存GET和POST响应,但这有点责任。你必须知道你应该冲什么、什么时候冲、多久冲一次。

使用

打开jQuery的GET缓存
$.ajax({
    'cache':true, 
    'url'  :'ajax.php',
    //and more parameters
});