php session缓存,扫盲:php session缓存至memcached中的方法

memcached是一套分布式的快取系统,当初是DangaInteractive为了LiveJournal所发展的,但被许多软件(如MediaWiki)所使用。这是一套开放源代码软件,以BSDlicens

更改为:

session.save_handler= memcache

session.save_path="tcp://127.0.0.1:11211?persistent=1&weight=1&timeout=1&retry_interval=15"

如果memcahced使用的是公网服务器的话最好使用其公网地址

保存退出并重启服务

[root@testhtdocs]# /etc/init.d/php-fpm restart

Gracefullyshutting down php-fpm . done

Startingphp-fpmdone

创建测试页setsession.php

[root@testhtdocs]# cat setsession.php

session_start();

if(!isset($_SESSION['test'])) {

$_SESSION['test'] = time();

}

print$_SESSION['test'];

print"
";

print"Session ID: " . session_id();

?>

新建php页面showsess.php,获取当前用户的会话ID:

[root@testhtdocs]# cat showsess.php

session_start();

$memcache_obj= new Memcache;

$memcache_obj->connect('127.0.0.1',11211);

$mysess=session_id();

var_dump($memcache_obj->get($mysess));

$memcache_obj->close();

?>

而后找一其他主机,使用负载均衡轮询到不同的主机上,可以发现无论刷新至哪个页面 其用户的session是一样的

访问setsession.php

482fbea1d01792df56a676c42efab2a4.png

1399775256         #为获取时间

Session ID: 9a0itlgjlurghq83ibvmol5pc7     #为session的id号

获取session

276feca53da818cf41bd19c65a19e59c.png

可以看到其时间是与上面setsession是一样的

总结

这样一来比php将session保存在本地效率要快很多,,如果以后要使用多台memcached的话至于开发程序能否实现负载均衡,到底是使用取余的算法还是使用一致性哈希的算法完全要看开发人员的决定了

感谢各位。

本文出自 “心情依旧” 博客,请务必保留此出处

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/291203.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《随笔记录》20170310

1 爱一个人,最低层次的是想通过对方实现某种上位,这是一种寄生的心理;可贵一些的,是把自己认为最好的理所当然地认为对方也会喜欢而强迫对方接纳,这是失了尊重之心;再好一点就是,只是单纯地对对…

MASA Framework - DDD设计(2)

Clean Architecture国内对于Clean Architecture的翻译很多,干净/整洁/清晰。但无论哪一种都说明了它简洁、清晰的特性。早期它长这样看到这张图的同学可能会对另外一张图有印象洋葱架构(Onion)现在长这样看起来好像是亲戚,它们的确也有着千丝万缕的关系分…

Android之什么时候调用onSaveInstance方法的时候(为什么按Home键盘会调用,按Back不调用)

1、函数介绍 1)、onCreate(Bundle savedInstanceState) 方法 Activity 创建时回调 : 该方法会自动传入一个 Bundle 对象, 该 Bundle 对象就是上次被系统销毁时在 onSaveInstanceState 或者 onRestoreInstanceState 中保存的数据 -- 注意 : 只有是系统自动回收的时候才会保存…

SublimeText2 快捷键一览表

Sublime Text比起Notepad,UltraEdit之类Code编辑器来说,其功能有过之而无不及,配合着各种插件使用,Sublime Text在实际的使用中变得非常的顺手——当然,如果你还不顺手,那就请顺手写个插件吧。而在众多功能…

SpringMVC核心分发器DispatcherServlet分析[附带源码分析]

目录 前言DispatcherServlet初始化过程DispatcherServlet处理请求过程总结参考资料前言 SpringMVC是目前主流的Web MVC框架之一。 如果有同学对它不熟悉,那么请参考它的入门blog:http://www.cnblogs.com/fangjian0423/p/springMVC-introduction.html 本…

proto2语法

proto文件 protobuf的定义是通过proto文件进行定义的,一个标准的类型如下: message SearchRequest {required string query 1;optional int32 page_number 2 [default 10];optional int32 result_per_page 3; } 其中message定义了类型名字&#xff0…

WPF 展示视频修改为WriteableBitmap

WPF开发者QQ群:340500857由于微信群人数太多入群请添加小编微信号yanjinhuawechat 或 W_Feng_aiQ 邀请入群需备注WPF开发者 PS:有更好的方式欢迎推荐。接着上一篇,进行WriteableBitmap性能优化修改后运行对比如下:前(C…

linux之类似Windows的资源管理器gnome-system-monitor(可用这个杀死进程)

1、使用 直接运行下面命令gnome-system-monitor 如果没有安装用下面命令安装sudo apt-get install gnome-system-monitor 2、结果 可以点击右键然后杀死相关进程,这也是杀死进程的办法。

HttpClient异常处理手册

HttpClient异常处理手册 开源中国 发表于 2014-08-26 19:44:06异常处理 HttpClient的使用者在执行HTPP方法(GET,PUT,DELETE等),可能遇到会两种主要类型的异常: 传输异常协议异常并不是所有的异常都会传播给HttpClient的用户。Htt…

再读《精通css》02:选择器

2019独角兽企业重金招聘Python工程师标准>>> 1.2 为样式找到目标1、类型选择器用来选择特定类型的原素。比如p,a,h1等等。也叫元素选择器或简单选择器。2、后代选择器用来寻找特定元素或元素组的后代。后代选择器由两个选择器之间的空格表示。…

余弦欧式距离matlab,余弦相似度和欧几里得距离

1.余弦相似度同过两个向量的夹角的余弦值来判断两个向量的相似度。余弦值取值[-1,1],越接近1,两向量夹角越小,越相似。图片.png二维公式:图片.pngn维公式:图片.png存在的问题[1]:余弦相似度更多的是从方向上区分差异&a…

App Store 排名获取。

为什么80%的码农都做不了架构师?>>> https://affiliate.itunes.apple.com/resources/documentation/genre-mapping/ app榜示例 , 取中国免费榜前10条: 首先访问 https://itunes.apple.com/WebObjects/MZStoreServices.woa…

使用 Playwright 对 ASP.NET Core 应用执行功能测试

前言在前面的文章中,我们已经介绍过 Playwright for .NET,它常用于自动化测试已经部署好的 Web 应用。其实,开发人员也可以使用它在 ASP.NET Core 应用程序中进行功能测试。功能测试功能测试是从用户角度编写,用于基于其要求验证系…

Android之如何让Android studio编译更快

1、 开启gradle单独的守护进程 在下面的目录下面创建gradle.properties文件 /home/<username>/.gradle/ (Linux) /Users/<username>/.gradle/ (Mac) C:\Users\<username>\.gradle (Windows) 最好是从一个项目里面拷贝过来然后修改下 #Project-wide Gradle …

PHP自动查找指定文件夹下所有文件BOM和删除所有文件

2019独角兽企业重金招聘Python工程师标准>>> <?php if (isset($_GET[dir])){ //设置文件目录 $basedir$_GET[dir]; }else{ $basedir .; } $auto 1; checkdir($basedir); function checkdir($basedir){ if ($dh opendir(…

php支持cs吗,关于composer、phpmd和phpcs于windows中的安装与使用方法

Composer项目地址 https://getcomposer.org中文 http://docs.phpcomposer.com/Composer是 PHP 的一个依赖管理工具。它允许你申明项目所依赖的代码库&#xff0c;它会在你的项目中为你安装他们。一、安装Composer官网有详细介绍安装方法&#xff0c;包括windows和linux系统。以…

jquery 入门与知识

一&#xff09;什么是jQuery&#xff1f; 【以封装的思想&#xff0c;重构<<图片显示和隐藏>>】 第三方组织预先写好的一些实用JS文件、类&#xff0c;方法&#xff0c;都统称为JS实用库&#xff0c;免费放在网上&#xff0c;同时配有相关的学习文档和案例&#xf…

基于ASP.NET Core api 的服务器事件发送

现如今程序员对Web API的调用已经是轻车熟路。但是传统的api调用都是拉模式&#xff0c;也就是主动发起请求去调用一个api.但是程序员往往对另一种很有用的模式很陌生&#xff0c;即推模式。拉模式 - 主动调用并获取结果的模式。推模式 - 订阅并接受数据推送的模式。今天要介绍…

Android之解决java.lang.NoSuchMethodError:android.os.powerManager.isInteractive问题

1、问题 再三星平板(Android 4.2.2系统)我们代码powerManager调用了函数isInteractive方法,出现下面错误 java.lang.NoSuchMethodError:android.os.powerManager.isInteractive 2、解决办法 1、一开始想用try catch来解决,肯定不行,功能没实现,而且进程还是会挂 2…

DDD为何叫好不叫座?兼论DCI与业务分析的方法论

今天&#xff0c;仔细阅读了园子里面的一个朋友写的《一缕阳光&#xff1a;DDD&#xff08;领域驱动设计&#xff09;应对具体业务场景&#xff0c;如何聚焦 Domain Model&#xff08;领域模型&#xff09;&#xff1f;》(http://www.cnblogs.com/xishuai/p/3800656.html)这篇博…