- 1、本文档共33页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
memcache教程讲解
memcache安全性 (1)内网(两块网卡,memcache在启动时指定那台访问) memcached –d –u root –l 192.168.1.100 –p 11211.指定只有192.168.1.100服务器才能访问。 (2)防火墙 在linux中,设置命令。 iptables -a input -p 协议 -s 可以访问ip -dport 端口 -j ACCEPT 例如: iptables –a input –p tcp –s 192.168.1.1 –dport 11211 –j ACCEPT iptables –a input –p tcp –s 192.168.1.1 –dport 11211 –j ACCEPT Memcached细节讨论 使用memcached 的因素 什么样的数据适合放入memcached中? 1.变化频繁,具有不稳定性的数据 (比如用户在线状态、在线人数..) 2.门户网站的新闻等,觉得页面静态化仍不能满足要求,可以放入 到memcache中. 什么样的数据不适合放入memcached中?(银行,股票,证券系统.) 过大的数据不能放入到memcache(优酷网.) --我自己的一个小结如何决定是否使用memcached --如果是一个小网站,pv值不大,就不考虑使用memcache了 --变化频繁,查询频繁,但是不一定写入数据库(适合memcache) --变化频繁, 一变化就要入库[比如股票,金融.](不适合memcache) --变化不频繁,查询频繁,不管如不入库,都比较适合memcache。 相关技术 Redis(Key/value型数据库),将数据保存在内存中,并定时向硬 盘中同步。 备注:在讲解时,可以通过php添加数据,通过cmd窗口取出数据。 //1.实例化一个memcache对象 $mem=new Memcache(); //2.连接到指定的memcache中 $mem-connect(192.168.0.105,11211); //0表示不压缩,MEMCACHE_COMPRESSED:表示压缩 if($mem-add(name,hanguo,0,30)){ echo ok; }else{ echo no ok; } * --session数据放入memcached 中案例[这里可以给学员们特别说明一下Session中放入对象,在另外一个文件中如何取出.] session.save_handler = files [user|memcache] 【三种取值.】 --注意: 在windows下,默认路径是 C:\WINDOWS\Temp ?php //除了可以在php.ini文件中设置session保存到memcache外,我们还可以直接在文件中设置,其实这样更好,因为 //不会影响到别人的使用session的方式. ini_set(session.save_handler,memcache); ini_set(session.save_path,tcp://localhost:11211); session_start(); $_SESSION[name]=abc; echo ok; //取出session的方式和放入session不变,对用户是透明的 echo session:.$_SESSION[name]; ? * 访问安全考虑(这里我们还需要考虑) 1. 内网访问(在windows下可以通过启用防火墙+例外80端口来实现). 2. 设置防火墙 linux 下 iptables -a input -p tcp -s 192.168.1.88 -dport 11211 -j ACCEPT 【iptables -a input -p udp -s 192.168.1.88 -dport 11211 -j ACCEPT】 定义一个逗号分割的用于session存储的服务器url列表,例如: tcp://host1:11211, tcp://host2:11211. 每个url可以包含参数,这些参数于方法Memcache::addServer()的参数相同。比如: tcp://host1:11211?persistent=1weight=1timeout=1retry_interval=15 * 为大型网站提速 --memcached缓存技术 什么是memcache memcached是一个高性能的分布式内存存储系统。你可以把memcached看做是一个具体的hash表, 形式是两列 键(key) 值(value) 字符串(唯一)
文档评论(0)