选择Session存储方式,设置Memcached高速缓存

Session是一个计算机术语,中文名为时域。时域属于通讯技术的领域。Session在计算机网络应用中被称为“会话控制”。Session对象存储特定用户会话所需的属性及配置信息。
为了帮助理解Session,可以借助cookie的词条概念。
Cookie在计算机上的数据类型是“小型文本文件”,在浏览器中可以通过设置Cookie从而达到保护个人隐私安全。Cookie是某些网站为了辨别用户身份,进行Session跟踪而储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息。
cookie在客户端,session在服务器端。

那么个人站长的网站应该怎么选择Session的数据的存储方式?

批注 2022 08 18 201851

我的网站安装了Memcached的PHP拓展,经过上次的努力已经实现持续高速缓存了(内存缓存),因此我选择将Session的存储方式更改成Memcached。

在网络上我没有找到关于Session存储模式,文件(file)和Memcached(内存缓存)的比较分析。在搜索这个术语的时候,印象中有几篇博文说Session用文件存储模式对于高并发的大网站会消耗更多的服务器资源,我的网站并没有高并发,但是可以反推出既然大站(指用户多)的高性能服务器在这种模式下都会消耗掉更多资源,那么有没有可能是Memcached更好——在我已经安装Memcached拓展的情况下。
目前我所掌握到的知识并不能证明这些存储模式的优劣,但还是暂时选择了用Memcached存储session的数据的方式。
这样可能会考验get命中率吧?有几次我在测试缓存的时候,用浏览器反复地前进后退,但有时网站会没有登录信息,我已经确实登录了WordPress的后台。刷新后又能载入并且没有出错,用另一浏览器访问,打开网站的速度看起来也相差无几,不过利用浏览器的前进后退能明显感觉到缓存页载入的速度变快了。

批注 2022 08 20 164454 批注 2022 08 20 163807

既然数据是存储在内存里,有必要了解一下内存的知识。虽然现在SSD比HDD快多了,但我们的云主机可是很垃圾的,只有40GB的容量,硬盘的读写速度甚至可能不如家用监控盘。所以存在内存里一定会快很多,不信可以试试。就简单用我们自己的电脑来说,“睡眠”唤醒和重新“开机”就能明显感觉到系统载入时间上的差距。睡眠就是把系统的文件放在内存里面,其它在上次休眠之前没有用到的包括系统盘以外的盘和任何外载的优先级都靠后,等主系统文件从内存拿出来之后,那些东西在需要的时候再加载。当然其实这也是CPU的活,总而言之就是Windows也好Linux也好,它们的系统核心文件都不可能只有一个。睡眠模式存在内存里面系统文件被打包成一个巨大的文件,唤醒就是“1”,再然后其它的源代码还是什么内核都好啦,内存的高速缓存直接存放,这比从硬盘里读出来重新解压再写进内存的分配优化就是要快多了。

neicun
另外再说一下,我们的个人电脑如果长时间不关机,内存也会存储一些乱七八糟的数据,超频太高的内存条可能就会出现不稳定进而蓝屏。
服务器的内存有自动纠错功能,因此长时间不关机也没事。

原创声明,作者:卡卡CC,未经允许不得转载,唯一链接:https://www.gaineng.net/sessionmemcached.html

(0)
上一篇 2022-08-20 上午12:10
下一篇 2022-08-27 下午6:32

相关推荐

发表回复

登录后才能评论