面试 |这些PHP重点知识你都会吗[通俗易懂]

2022-07-11 14:25:24 浏览数 (1)

大家好,又见面了,我是全栈君。

  1. session 跨域共享如何实现?分布式应用共享问题如何解决?
  2. 缓存系统 有4个常用的分别是?他们的差别?
  3. 消息队列 的实现方式有哪些?
  4. nginx负载均衡 怎么实现?

A. nginx负载均衡的类别有哪些? B. nginx与apache的区别?

  1. mysql读写分离 怎么实现?
  2. 如何进行mysql性能调优?

A. 如何开启慢日志? B. 如何进行SQL调优? C. 哪些语句不支持索引?

  1. swoole 有哪些通信方式?
  2. 网站安全防护 有哪些?
  3. 设计模式 有哪些?

==============重点来啦===========

说下你了解的session和cookie

cookie保存在客户端,session保存在服务器上 session的实现,需要在客户机的cookie上创建sesssionId进行关联

如何修改SESSION的生存时间

其实 Session 还提供了一个函数 session_set_cookie_params(); 来设置 Session 的生存期的,该函数必须在 session_start() 函数调用之前调用

代码语言:javascript复制
// 保存一天
$lifeTime = 24 * 3600; 
session_set_cookie_params($lifeTime); 
session_start();
$_SESSION["admin"] = true; 

session在分布式应用中的共享问题

nginx的负载方式采用:ip_hash(根据ip分配后端服务器) 将session值存入(数据库、redis、memcache),使用session_id进行关联查询。 将session值DES加密存入cookie中,当B服务器发现没有session,就会去检查cookie是否存在

session跨域共享问题

就是把session和cookie的domain设置为“主域”即可。可以调用一下代码解决

代码语言:javascript复制
session_set_cookie_params(1800 , '/', '.mydomain.com');

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/111907.html原文链接:https://javaforall.cn

0 人点赞