企业架构LNMP学习笔记46
最佳答案 问答题库398位专家为你答疑解惑
PHP测试连接代码:
php代码测试使用memcached:
示例代码:
<?php
//实例化类
$mem = new memcached();
//调用连接memcached方法 注意连接地址和端口号
$mem->addServer('192.168.17.114',11211);
//存数据
var_dump($mem->set('name','lnmp'));
//取数据
var_dump($mem->get('name'));
开始的时候连接失败:
到192.168.17.114服务器上进行检查,看到memcached进程没有启动:
./memcached -uroot -d
然后再使用php index.php命令运行:
[root@server01 public]# php index.php
bool(true)
string(4) "lnmp"
如果看到memcached类找不到,说明库没有安装好。学会分析问题,找原因。
我们公司有这方面的php的业务,运维正常是掌握Shell和Python方面的。
企业案例实现:
1、session入memcached共享:
session为什么要共享:因为在分布式负载均衡架构中,web服务器间的session是不共享的,会造成session校验不一致,校验验证码不成功。登录之后session不一致,造成无法判断是否登录。
解决方案:
1)session生成校验在同一台服务器 nginx调度算法 ip_hash。
2)session共享,多台web服务器可以调用到session。
修改项目配置文件:
server01和server03都需要修改,并且web服务器都要安装好memcached扩展
vim /usr/local/nginx/html/tp5shop/application/config.php
修改完成之后,之后的请求所生成的session,就被写入到memcached中了。
访问测试:
在memcached中,session_id作为key,session的内容作为value进行存储。
都是在业务代码中实现,服务架构中,只要按需配置即可。
把cookie中的session_id进行clear,就又返回到后台登录页面。
如果在memcached中把session_id进行删除,flush_all,那么又要重新登录页面。
用户的登录状态是要存到服务器,并不能存到客户端的cookie中。
开发的时候才能理解到session和cookie的问题。
缓存热点数据:
把经常访问到的数据,发生变动较小 ,可以存储到内存缓存中,提供访问速度。
注意:修改web服务器的文件时,一定要修改web1和web2。
get category命令。
做一个压测,把数据库压力体现出来。(以后有时间把压力测试,练习下。)
业务配置文件,最好是问清楚开发如何配置,或者让开发进行配置。
99%的人还看了
相似问题
- Docker篇之利用docker搭建ftp服务器可实现多用户上传
- 【Vue3】解决Vue打包后上传服务器 资源路径加载错误
- 【史上最细教程】服务器MySQL数据库完成主从复制
- 中间件安全:Apache Tomcat 弱口令.(反弹 shell 拿到服务器的最高控制权.)
- 服务器端请求伪造(SSRF)
- VMware 系列:戴尔服务器配置(格式数据、RAID5、安装ESXI)以及相关问题
- 超详细 | 实验室linux服务器非root账号 | 安装pip | 安装conda
- 腾讯云4核8G服务器配置价格表,轻量和CVM标准型S5实例
- 推荐一个windows上传linux服务器/linux服务器的docker镜像的工具,摆脱docker cp,以及解决常见问题。
- 2.6文件服务器
猜你感兴趣
版权申明
本文"企业架构LNMP学习笔记46":http://eshow365.cn/6-11032-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!