小蚂蚁学memcache笔记—php操作memcache(2)

上篇在学习$mem->set();的时候少写了一个参数,第三个参数,MEMCACHE_COMPRESSED,这个参数的作用在于压缩。

memcache是独立机构,是C/S结构。如果memcache满了,LRU算法删除,把最早没有访问过的拿掉。

memcache的分布式  这里是重点

在第二部中将connect这个方法改成addserver(),在链接池中添加了一个memcache服务器。

例如 :

$mem    ->    new Memcache();
$mem    ->    addServer(‘127.0.0.1‘,11211);    //增加链接池
$mem    ->    addServer(‘127.0.0.1‘,9999);     //增加链接池   
$mem    ->    get($key);
  1. memcached尽管是‘分布式’缓存服务器,但服务器端并没有分布式功能。
  2. 各个memcache不会互相通信以便信息共享。每个memcache服务的数据不是同步的。
  3. 而且把什么样的数据放入到哪一个memcached是由客户端的mem对象来决定的。
  4. 当执行addServer的时候,并不是立即去连接mem服务,而是通过计算,hash后才去决定链接哪一台mem服务,所以当大量加入服务到连接池,不会有多余的开销。

memcache细节的研究

  1. 生命周期。从放入开始计时,时间到就自动销毁。memcache被销毁有以下几种情况。一,时间到。二、重启memcache。三,重启服务器。

如何将session放入到memcache中保存

  1. 修改php.ini配置文件
    1. session.save_handler=user    它有三个选项  user 表示自定义  files入库保存到文件  memcache保存在内存
    2. 修改如下 将session.save_handler 改为 memcache
    3. 将 session.save_path=“tcp://127.0.0.1,11211”

2.    重启apache

注意:如果session数据存入memcache,那它一定是以session_id为key值进行添加的。

如果以后做大型门户网站,一定要把session写入到memcache。(强烈建议)

如果无法修改php.ini文件,可以通过函数修改php.ini任何配置。可以把以下两句写到脚本的前端

ini_set("session.sava_handler","memcache");
ini_set("session.save_path","tcp://127.0.0.1:9999");     //函数的参数都是以减值对的形式存入

ini_set()功能很强大,可以修改php.ini中的任何值。

safe_mode模式的谈论

他们的最大区别就在于,安全模式一旦打开,对服务器上文件的操作几乎失效。

ini_set()只会在很脚本起作用,不对其他文件起作用。

时间: 2024-10-27 04:11:50

小蚂蚁学memcache笔记—php操作memcache(2)的相关文章

小蚂蚁学memcache笔记—php操作memcache(1)

准备工作 把php_memcache.dll文件拷贝到php的ext下. 特别说明:不同版本php所用的php_memcache.dll版本不同. 修改php.ini文件,加载php_memcache.dll(这个文件其实就是加载了一大堆的函数) 重启apache php实际操作 $mem    =    new Memcache();    //实例化对象 $mem    =    connect('127.0.0.1',11211); $mem    ->    add(键,值,是否压缩,生

小蚂蚁学cURL笔记(3)——cURL对Ftp服务器的操作

对ftp服务器的下载操作方法. 内容很简单,就是几个设置,直接上代码. //初始化 $curlobj=curl_init();  //文件的准确路径url curl_setopt($curlobj,CURLOPT_URL,"http://......"); //不输出head头文件 curl_setopt($curlobj,CURLOPT_HEADER,0); //执行后不打印 curl_setopt($curlobj,CURLOPT_RETURNTRANSFER,1); //重点来了

小蚂蚁学cURL笔记(1)

cURL的作用:网络上的所有资源都可以用cURL访问和下载. 如何在window下确认是否支持cURL.cmd-->输入命令 php -i    通过搜索找到curl 在linux下的检测方法. 输入命令行   php -i | grep curl (使用管道符过滤) curl的运行步骤  1  初始化 curl_init();  2. 发送请求和接受请求 curl_exec()  3.关闭curl_close(); 小案例1:从网络上下载一个网页,把内容中的"百度"替换成&qu

小蚂蚁学cURL笔记(1)——cURL模拟登陆其他网站以及下载个人中心

登陆第三方网站必须要做的一步就是保存cookie,这样才能登陆第三方网站.cookie是用于保存网站登陆信息的工具和媒介,先要将cookie保存才能做后续开发. <?php     //准备登陆的字段和值     $data="username=abc&password=123&remember=1";     //初始化curl     $curlobj=curl_init();     //准备登陆页的url,就给慕课做个广告吧O(∩_∩)O哈哈~     c

小蚂蚁学memcache笔记(1)准备工作以及telnet操作memcache的curd

memcache的应用条件 1.频繁变化的数据.2.丢了也无所谓的数据. 形式: 减值对的形式储存.  key   ->   value value可以储存的类型:1.字符串 2.数值 3.数组 4.对象 5.布尔 6.二进制数据(图片.视频) 安装步骤: 下载 memcache 安装进入cmd,切换到所在目录   使用命令  memcache.exe  -d  install 启动    memcached.exe -d start 使用 netstat  -an 查看11211端口如果被监听

小蚂蚁学memcache笔记(完结)

memcache安全讨论 memcache和session的比较 memcache主要目的用于提速,因此它是一种无状态的数据,即数据不会和任何用户绑定. session数据是和用户绑定的,因此是一种有状态的数据. memcache应该放入到内网,用防火墙阻止外网对11211端口的访问.坚决不能放到外网去. 在linux下也可以使用防火墙 setup 配置防火墙 iptables    -a input -p tcp -s 127.0.0.1 -d port 11211 -j ACCEPT    

memcache(使用php操作memcache)

1.概念 memcache 是一个高效的分布式的内存对象缓存系统,他可以支持把php的各种数据(数组,对象,基本数据类型)放在它管理的内存中 2. 安装步骤 1.下载php_memcache.dll文件并把它放入到 php/ ext /目录 2. 打开php.ini文件 这里启用memcache.dll扩展 extension=php_memcache.dll 3. 代码使用 <?php //1.实例化一个Memcache对象 $mem=new Memcache; //2. 连接到指定的memc

Memcache 学习笔记(二)---- PHP 脚本操作 Memcache 服务器

 PHP 脚本操作 Memcache 服务器 一.PHP脚本操作Memcache方法 使用 PHP 脚本操作 Memcache,在 PHP 手册中有详细的介绍,我们可以实例化 Memcache 类,根据需求调取对象方法.Memcached 是较 Memcache 更加 强大的类库,功能更多,这里只介绍Memcache. 部分方法介绍: 1.Memcache::add - 增加一个条目到缓存服务器 2.Memcache::addServer - 向连接池中添加一个memcache服务器 3.Mem

自动化运维Python系列之Memcache、Redis操作

Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度.Memcached基于一个存储键/值对的hashmap.其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信. Memcached安装 wget http://memcached.org/latest tar -zxvf memcach