memcached使用内存保存session
来源:互联网 发布:swift 网络请求第三方 编辑:程序博客网 时间:2024/06/17 12:51
对于登陆注册量比较大的网站,session直接写入文件。对于登陆访问量比较大的网站session本身就比较多,如果提高session的读取速度可以提高访问速度和减轻服务器一定的负担。而memcached可以做到这一点。修改的主要有两个参数:session.save_handler为memcache和session.save_path为tcp://ip:port
方式一:修改php.ini的配置文件
方式二:通过ini_set()函数设置对本页面有效的session配置ini_set(“session.save_handler”,“memcache”)ini_set("session.save_path","tcp://ip:port")
memcached和session的区别:
在读写速度上会比文件快很多,而且在多个服务器需要共用 session 时会比较方便,将这些服务器都配置成使用同一组 memcached 服务器就可以,减少了额外的工作量。 其缺点是 session 数据都保存在 memory 中,一旦当机,数据将会丢失。但对 session 数据来说并不是严重的问题,其本身就是临时性数据。 session 数据都保存在 memory 中,持久化方面有所欠缺,但对 session 数据来说也不是很大的问题。
当把memcached服务器放在公网上,就不安全了,可以放置在局域网中,通过防火墙拒绝对memcached服务的端口的直接请求,必须通过Apache服务器间接地访问memcached的服务。
当然需要注意的地方有::
1、memcache的内存应该足够大,这样不会出现用户session从Cache中被清除的问题(可以关闭memcached的对象退出机制)。
2、如果session的读取比写入要多很多,可以在memcache前再加一个Oscache等本地缓存,减少对memcache的读操作,从而减小网络开销,提高性能。
3、如果用户非常多,可以使用memcached组,通过set方法中带hashCode,插入到某个memcached服务器//暂时不能理解
对于session的清除有几种方案:
(1)可以在凌晨人最少的时候,对memcached做一次清空。(简单)
(2)保存在缓存中的对象设置一个失效时间,通过过滤器获取sessionId的值,定期刷新memcached中的对象.长时间没有被刷新的对象自动被清除.(相对复杂,消耗资源)
- memcached使用内存保存session
- memcached保存session
- 应用memcached保存session会话信息
- memcached安装配置及保存php session于memcached
- 使用Memcached实现Session共享
- 使用Memcached实现Session共享
- memcached-session-manager使用总结
- 使用Memcached实现Session共享
- 使用Memcached实现Session共享
- 使用Memcached实现Session共享
- 使用 StateServer 保存 Session
- 使用stateserver保存session
- OKHTTP使用 保存session
- PHP如何将session保存到memcached中?如何分布式保存PHP session
- 使用memcached进行内存缓存
- 使用memcached进行内存缓存
- 使用Memcached进行内存缓存
- 使用memcached进行内存缓存
- 在光标处插入字符串的实现代码兼容IE,Firefox
- android Paint 设置线宽setStrokeWidth()的单位
- int a; int* a; int** a; int (*a)[10]; int (*a)(int);int *(*a)[10]区别?
- 美团网笔试题之正约数——新手程序员的暴力破解
- Study ArcGis Viewer《解析资源ViewerStrings》
- memcached使用内存保存session
- 程序员的性格(1)
- 解决ubuntu12.04下chrome安装出错问题
- Oracle MySql以及Hibernate实现分页
- 【层次遍历 P101】
- c++ word文档操作
- centos网络设置
- POJ 2141密码
- Git基础 2 ---- Git简介