单点登录方式
1.使用memcache 存取实现单点登录 (缺点只是支持一台服务器的时候 多台需写算法)
2.使用session共享(session是存储在文件中 要实现将session文件存储在memcache中)
缺点:会造成服务器压力 不建议使用
具体实现:1.将PHP session信息缓存到memcached里面
方法I: 在php.ini中全局设置
php.ini代码
session.save_handler = memcache
session.save_path = “tcp://127.0.0.1:11211″
方法II: 某个目录下的 .htaccess
php.ini代码
php_value session.save_handler “memcache”
php_value session.save_path “tcp://127.0.0.1:11211″
方法III: 再或者在某个一个应用中
PHP代码
ini_set(“session.save_handler”, “memcache”);
ini_set(“session.save_path”, “tcp://127.0.0.1:11211″);
使用多个 memcached server 时用逗号”,”隔开,并且和 Memcache::addServer() 文档中说明的一样,可以带额外的参数”persistent”、”weight”、”timeout”、”retry_interval” 等等,类似这样的:”tcp://host1:port1?persistent=1&weight=2,tcp://host2:port2″ 。
如果安装的PECL是memcached(依赖libmemcached库的那个扩展),则配置应为
PHP代码
ini_set(“session.save_handler”, “memcached”); // 是memcached不是memcache
ini_set(“session.save_path”, “127.0.0.1:11211″); // 不要tcp:[/b]
php 扩展==类 window上是dll linux上是so
php所有扩展文件存放链接 http://pecl.php.net
扩展知识 memcache 和memcached的区别
首先我们可以从PHP官方手册上可以清晰的看到两者的区别:
memcache:http://cn2.php.net/manual/en/book.memcache.php
memcached:http://cn2.php.NET/manual/en/book.memcached.php
memcache是完全在PHP框架内开发的,memecached是使用libmemcached的。从手册上看,memcached 会比 memcache 多几个方法,使用方式上都差不多。
memcache是原生实现的,但是使用libmemcached的memached只支持OO接口,而 memcache则是OO和非OO两套接口并存,以后随着memcached服务器端的改进,这个lib也必定会马上跟进的。而memcache却不一定能做到按时跟进。
memcached,还有个非常称赞的地方,就是flag不是在操作的时候设置了。而是有一个统一的setOption()。memcached 实现了更多的 memcached 协议(毕竟是基于 libmemcached 库的)。
这里有另外一个对比表,很明显,用 memcached 会让人放心很多:http://code.google.com/p/memcached/wiki/PHPClientComparison
差别比较大的一点是,memcached 支持 Binary Protocol,而 memcache 不支持,意味着 memcached 会有更高的性能。不过,还需要注意的是,memcached 目前还不支持长连接。
memcache 出现时间(2004-2-26) memcached支持的多 memchaed没有window的扩展
单点登录实现 使用
1.memcache
2.memcache依赖session共享--(关键在session_id 可以自己定义一个id死值 或者 将session_id也存入memmcache)
这个是需要改php.ini的配置
session.save_handler = memcache详情请参考上面 将session内容都存储在memcache中
3.jsonp
4.