摘要: 自主实现Session功能的类,基于文件方式存储Session数据,测试基本通过,还比较好玩,实际应用没有意义,只不过是学习Session是如何实现的。一般基于文件存储Session数据效率不是很高,毕竟跟磁盘IO是有关系的,如 果需要多台服务器共享数据,可以考虑使用NFS来存储数据,如果需要比较快的速度,可以考虑使用共享内存(shm)来保存数据,直接把Session数据 存储路径指定为/dev/shm,这样磁盘IO会提高不少,不过shm空间比较小,一般Linux下是60多M,所以不可能保存太多数据。//=======================================// 程序: 阅读全文
posted @ 2013-12-30 13:27 Otgs 阅读(408) 评论(0) 推荐(0) 编辑
摘要: 自主实现Session功能的类,基于文件方式存储Session数据,测试基本通过,还比较好玩,实际应用没有意义,只不过是学习Session是如何实现的。使用基于文件的Session存取瓶颈可能都是在磁盘IO操作上,所以对付小数据 量的Session没有问题,但是如果碰到大数据量的Sesstion,那么可能无法胜任,现在利用Memcache来保存Session数据,直接通过 内存的方式,效率自然能够提高不少,并且如果结合PHP的Memcache扩展,能够支持分布式的Memcache服务器,那么这个性能就能够提到更高, 负载更多更复杂的应用。说明:以下代码基于Memcache来保存Session数 阅读全文
posted @ 2013-12-30 13:25 Otgs 阅读(426) 评论(0) 推荐(0) 编辑
摘要: PHP实现多web服务器共享SESSION数据(session数据写入mysql数据库) 一、问题起源 稍大一些的网站,通常都会有好几个服务器,每个服务器运行着不同功能的模块,使用不同的二级域名,而一个整体性强的网站,用户系统是统一的,即 一套用户名、密码在整个网站的各个模块中都是可以登录使用的。各个服务器共享用户数据是比较容易实现的,只需要在后端放个数据库服务器,各个服务器通过统 一接口对用户数据进行访问即可。但还存在一个问题,就是用户在这个服务器登录之后,进入另一个服务器的别的模块时,仍然需要重新登录,这就是一次登录,全 部通行的问题,映射到技术上,其实就是各个服务器之间如何实现共享 .. 阅读全文
posted @ 2013-12-30 13:17 Otgs 阅读(496) 评论(0) 推荐(0) 编辑
摘要: 在Windows上PHP默认的Session服务端文件存放在C:\WINDOWS\Temp下,如果说并发访问很大或者 session建立太多,目录下就会存在大量类似sess_xxxxxx的session文件,同一个目录下文件数过多会导致性能下降,并且可能导致受到 攻击最终出现文件系统错误。针对这样的情况,PHP本身体提供了比较好的解决办法。打开 php.ini ,查找Session设置部分中以下一项: session.save_path = “N;/path” session.save_path = “C:\Temp” #此处以你自己设定的路径为准这项设置提供给我们可以给session... 阅读全文
posted @ 2013-12-30 11:20 Otgs 阅读(2384) 评论(0) 推荐(0) 编辑