设为首页 收藏本站
查看: 1672|回复: 0

[经验分享] Memcached实现Session共享

[复制链接]

尚未签到

发表于 2018-12-25 06:39:27 | 显示全部楼层 |阅读模式
  一、memcached安装
  1. memcached安装和启动、查看进程
      安装扩展源 yum install -y epel-release
      安装软件、组件、工具包 yum install -y libevent memcached libmemcached
      启动 /etc/init.d/memcached start
      进程 ps aux |grep memcached

    
     解释:
     -d  启动一个守护进程
     -p  监听的端口,默认11211
     -u  运行memcached用户
     -m 内存大小,单位MB
     -c  并发连接数,默认1024
     -P pid文件
     -l  监听的服务器IP地址
  

  2. 编辑配置文件/etc/sysconfig/memcached
      说明:配置文件中添加监听地址 -l 127.0.0.1


  

  3. 查看memcached运行状态
  1) 使用memcached自带命令查看,一般优良的memcache,cmd_hits/cmd_get命中率大于80%
         命令 memcached-tool 127.0.0.1:11211 stats
  

  2) 使用nc工具命令查看
         说明:需yum install -y nc
         命令 echo status |nc 127.0.0.1 11211
          
  3) 使用libmemcached工具的命令查看
         命令 memstat --servers=127.0.0.1:11211
  


  

  二、memcached操作
       Memcached需在网站代码里指定,一般由开发人员操作,也可在测试和查看数据时,执行这些操作,一般用于php访问和存储
  

  1. memcached登录
      telenet方式:Telnet 127.0.0.1 11211

  

  2. memcached语法规则
      格式:
      \r\n  \r\n
  

     说明:
     1) \r\n在Windows下是Enter键
     2) 可以是set(已存在则覆盖)、add(已存在则失败)、replace(不存在则失败)
     3)
     4)  16位无符号十进制整数
     5)  0表示永不过期,但可以被服务器算法LRU替换
     6)  存储的字节数,空数据设为0
     7)  存储的数据
  

  3. 操作数据
  1) 存入和查看一条数据
        说明:键名为1;1表示键标记;80为过期时间;2为字节大小;回车输入2个字节的数据

  

  2)替换一条数据

  

  3) 删除一条数据

  

  4. 查看chunk值
      命令:memcached-tool 127.0.0.1:11211 display

  

  

  三、memcached连接实现共享
       Memcache作为php的一个扩展模块, 数据存到了memcached里面后,php通过memcache模块去和memcached服务交互
  

  1. 下载和安装扩展工具memcache模块
      说明:源码编译时,需用到/usr/local/php/bin/phpize工具生成configure文件,如没有需yum install php-devel
      命令 wget http://www.apelearn.com/bbs/data/attachment/forum/memcache-2.2.3.tgz
              tar -zxf memcache-2.2.3.tgz
              cd memcache-2.2.3
              /usr/local/php/bin/phpize
              ./configure --with-php-config=/usr/local/php/bin/php-config
              make;make install

  

  2. 编辑php配置文件/usr/local/php/etc/php.ini,指定扩展模块的目录extension_dir(默认)和模块文件,并重启查看是否加载/usr/local/php/bin/php -m

  


  


  

  3. 编辑测试脚本1.php,并用/usr/local/php/bin/php测试与php的解析
  4. memcached实现session共享(lamp/lnmp环境下实现方式有多种)

  •   /usr/local/php/etc/php.ini文件中添加
       session.save_handler = memcache
       session.save_path = "tcp://127.0.0.1:11211"
  


  •   httpd.conf(apahce)虚拟主机配置文件添加
       php_value session.save_hander "memcache"
        php_value session.save_path "tcp://127.0.0.1:11211"  
  


  •   php-fpm.conf(nginx)对应的pool中添加
       php_value[session.save_handler]=memcache
        php_value[session.save_path]="tcp:127.0.0.1:11211"
  

  a. 编辑php配置文件vim /usr/local/php/etc/php.ini,填写session保存方式路径
      说明:如memcached服务器安装的远程机器上,在监听远程机器的IP
      内容:
       session.save_handler = memcache
       session.save_path = "tcp://127.0.0.1:11211"
  、
  

  

  b. 编辑php测试脚本session.php,移至网站目录下/data/www/
      内容:
  

  c. 用curl或者浏览器访问session.php,获取返回的session值
      命令 curl -x127.0.0.1:80 172.16.111.195/session.php

  

  

  d. telnet登录memcached服务器,查看本地保存的session信息与curl获取的一致

  

  

  5. 通过phpinfo查看session相关配置


  

  

  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-655415-1-1.html 上篇帖子: memcached分布式 下篇帖子: Discuz!NT中集成Memcached分布式缓存
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表