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

时间:2011-10-18 05:13:00

标签: php jquery ajax caching

我正在尝试了解缓存数据的使用。我对此有所了解。它可以帮助数据加载更快,因为它将信息存储在浏览器中?

如果有人可以帮助我更好地理解这一点,我将不胜感激。此外,是否可以从输入字段缓存值并检索或存储它以供以后使用?如果是这样,有人可以向我展示如何在PHP,ajax或jquery中实现它的示例,或者引导我学习教程吗?

谢谢!

3 个答案:

答案 0 :(得分:1)

本季的时尚是使用localStorage在客户机器上存储数据。 例如,见:http://php-html.net/tutorials/html5-local-storage-guide/

答案 1 :(得分:1)

缓存是位于数据源(数据库,硬盘驱动器,Web资源等)和需要访问该数据源的东西之间的东西。我们的想法是,从缓存中访问数据应该更快,而不是直接从数据源访问数据。

如果您想存储文本字段值以供日后使用,(我们不了解您的设置细节),我认为您正在寻找Cookie。

当用户在文本框中键入文本时,请使用javascript到set a cookie

用户下次访问该页面时,您可以使用javascript检查他们在文本框中输入的内容,以查看该Cookie是否存在,如果存在,那么这些内容是什么。

请注意,此方法会将数据缓存在用户的计算机上 - 而不是Web服务器上。如果要将这些值存储在Web服务器上,则需要在用户提交表单时将它们写入文件或数据库,或使用AJAX将输入表单的值发送到PHP后台 - 异步结束,因此可以在那里存储值。

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

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

编辑:从previous question开始,您似乎想要某种自动完成功能。有两种类型:

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

当用户提交表单时,您可以执行以下三项操作之一:

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

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

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

注意:如果以这种方式配置,浏览器应自动自动完成用户先前输入的内容。您希望自己实现此类自动完成的唯一原因是您需要某种跨浏览器或跨系统功能。

2)预测自动完成,就像进行Google搜索一样。

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

答案 2 :(得分:0)

这取决于。您几乎每次都可以缓存图像,css,js,因为它始终是相同的。你不需要做任何事情,他们应该自动缓存。

你也可以缓存GET和POST响应,但这有点责任。您必须知道冲洗它的时间,时间和频率。

要仅通过jQuery打开GET请求缓存,请使用

$.ajax({
    'cache':true, 
    'url'  :'ajax.php',
    //and more parameters

});