Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.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 网站性能:从cookie到本地存储_Php_Local Storage - Fatal编程技术网

Php 网站性能:从cookie到本地存储

Php 网站性能:从cookie到本地存储,php,local-storage,Php,Local Storage,我为Wordpress网站创建了一个插件。根据用户是否访问了(重要的)子页面,插件在网站的标题中显示个性化信息——在每个页面和页面加载上 在过去,我使用一个cookie来存储这些信息。但我了解到cookies的这种特殊用法会阻止缓存,从而降低我的网站性能 现在,我尝试在本地存储中实现相同的功能 问题:使用本地存储和通过jQuery在网站上显示用户特定信息是否也会降低我的网站速度?或者我会看到网站更好的性能吗?如果服务器上不需要数据,并且没有敏感信息,那么数据可以存储在客户端。它将减少请求和响应大

我为Wordpress网站创建了一个插件。根据用户是否访问了(重要的)子页面,插件在网站的标题中显示个性化信息——在每个页面和页面加载上

在过去,我使用一个cookie来存储这些信息。但我了解到cookies的这种特殊用法会阻止缓存,从而降低我的网站性能

现在,我尝试在本地存储中实现相同的功能


问题:使用本地存储和通过jQuery在网站上显示用户特定信息是否也会降低我的网站速度?或者我会看到网站更好的性能吗?

如果服务器上不需要数据,并且没有敏感信息,那么数据可以存储在客户端。它将减少请求和响应大小,从而减少服务器负载和响应时间。它不会影响缓存,因为您的wordpress页面无论如何都是动态的,如果没有缓存插件,可能根本不会缓存。

如果每个用户都是动态的,则缓存不是一个选项。您存储他们访问特定页面的时间有多长?这是每次会话,仅在他们登录时?每个用户一次?当我使用cookie时,我将数据存储了30天。但如果少一点,也没关系。如果数据在每个窗口关闭后过期,这将不是最好的情况,您将看到非常巨大的好处,并且更容易处理:
localStorage.setItem('entry','value')
localStorage.getItem('entry')
直截了当!)您可以像这样存储许多Gb。需要10%的空硬盘才能开发,否则您的浏览器可能会毫无警告地完全跳过它。最好知道它!使用localStorage并没有真正改变性能。你正在改变的是你如何获取用户信息,而不是如何存储它。通过让ajax调用独立于主页检索用户数据,您可以改进以下几点:1)您没有在每个页面请求上发送数据(通过cookies)。2) 您允许缓存这些文档(以及缓存用户数据请求),3)您正在为您需要的内容发出专用请求,因此您不会为了实现多个目标而发出冗余请求。我想利用缓存。有多个静态页面可以缓存,包括主页——这对于缓存来说非常重要。通过PHP代码检查cookie值是否存在,我想我可以防止静态页面被缓存。缓存必须明智地使用。如果更改任何缓存的动态页面上的内容,它将不会立即到达所有用户。个性化信息最终会改变,因此缓存显示这些信息的页面是不可取的。您使用这种缓存的原因是什么?请稍微解释一下:当用户访问网站的重要子页面时,菜单项应该是可见的。如果用户没有访问子页面,我基本上想隐藏这个菜单项。这可以通过localStorage和jQuery轻松实现。因此,我当然希望服务器缓存网站,但我不太确定jQuery/localStorage的使用是否会阻止正确的缓存。如果您希望缓存页面,则不,您的“jQuery local storage”解决方案不会阻止缓存。但这毫无意义,因为您可以在服务器上呈现数据,而无需使用本地存储或Cookie来存储数据,因为无论打印数据与否,数据都将被缓存编辑:我的错,如果你只想显示一次菜单,它是有意义的。但是你应该问问自己——这是一个好的设计吗?它有什么帮助?