一、memcache的简介

  memcache是高速,分布式的内存缓存服务器

  php的缓存方式一般可以使用memcache技术和redis技术,其中各有优劣,因不同的情况而选择较为适合的缓存技术,其中memcache是缓存系统,而redis是数据库系统,memcache相对于redis的优点是高速,但是速度的差异性很难看出区分。但是memcache的安装,使用等都较为简单,当然redis的逼格当然相对高点

二、memcache的安装

  二进制程序,基于命令行的程序

  (1)直接双击memcached.exe

    

  (2)cmd执行,将memcache加入服务管理

   

  

  

  安装时加上-d 参数即可

  使用-h参数可以查看其全部参数含义

  

  其中重要选项

  -p 监听端口 默认11211  -l监听的IP    -m memcache的最大容量 以M为单位 默认64M

到此安装服务器端完毕

三、memcache的使用

(1)使用SecureCRT作为客户端,对memcache进行操作,发出是以Telnet协议的方式,进行远程连接的

  设置:set

  规则:set 键名 压缩标志 生命周期 值的长度

     值

  注释:压缩标志:1表示压缩 0表示不压缩,压缩解缩会消耗时间,但是会节省空间,根据需求而定

     生命周期:可以是时间间隔,也可以是时间戳,其是以30*3600*24=2592000(30天的时间)

  ·    小于等于视为时间间隔,大于为时间戳

     值的长度:以字节为单位

      

  获取get

  规则 get 键名

  

  其他设置

   incr 键名 数值  自增多少

    decr 键名 数值  自减多少

    add :用法与set相同 如key存在则添加失败

  replace:用法与set相同 如key存在则替换失败  

  delete:删除某个键值

  flushall:清空所有

(2)使用php进行操作

  配置

  1、把相对应的php版本的php_memcache.dll拷贝到php的扩展文件夹

  2、配置:在php.ini开启php_memcache.dll的扩展

  使用

  可以使用OOP语法管理memcached服务器

  1、创建memcache实例

    $memcache=new Memcache();
$host='localhost';
$port='11211';
$res=$memcache->connect($host,$port);
//对memcache的数据进行操作
$memcache->close();

  2、数据类型的支持

   把标量类型转化成字符串类型进行处理

   非标量的数据类型转成json数据进行处理

  3、分布式

  memcache可以添加对台memcache服务器到集群里,由php_memcache的扩展进行分布式算法处理,选择一台memcache服务器进行存储

  

    $memcache=Memcache();
//添加服务器到集群
$host='192.168.10.110';
$port='11211';
$memcache->addServer($host,$port);
$host='127.0.0.1';
$port='11212';
$memcache->addServer($host,$port);
//memcache操作
$memcache->close();//关闭memcache

  4、缓存失效

    缓存过期:memcache在处理过期缓存的时,采用的时懒惰模式的处理方法,即是缓存过期不会立即去处理而是等待服务器去获取的时候,判断是否过期,然后再去删除

    缓存空间已满:memcache在插入数据时,若空间不足时,采用删除旧缓存中删除最少用的缓存项的策略,而不是看缓存是否过期,此策略叫RLU策略

  5、常用场景

    1、session进memcache

      首先要先定义memcache,session的处理器

    

    ini_set('session.save_handler', 'memcache');
//定义memcache服务器信息
ini_set('session.save_path', "tcp://127.0.0.1:11211");
session_start();
//session操作

memcached安装与使用详解的更多相关文章

  1. libCURL开源库在VS2010环境下编译安装,配置详解

    libCURL开源库在VS2010环境下编译安装,配置详解 转自:http://my.oschina.net/u/1420791/blog/198247 http://blog.csdn.net/su ...

  2. zookeeper的安装(图文详解。。。来点击哦!)

    zookeeper的安装(图文详解...来点击哦!) 一.服务器的配置 三台服务器: 192.168.83.133   sunshine 192.168.83.134   sunshineMin 19 ...

  3. 转AjaxControlToolkit的安装与使用详解

    AjaxControlToolkit的安装与使用详解 AjaxControlToolkit下载http://ajax.asp.net/downloads/default.aspx?tabid=47ht ...

  4. 学习笔记--Grunt、安装、图文详解

    学习笔记--Git安装.图文详解 安装Git成功后,现在安装Gruntjs,官网:http://gruntjs.com/ 一.安装node 参考node.js 安装.图文详解 (最新的node会自动安 ...

  5. Mac下安装HBase及详解

    Mac下安装HBase及详解 1. 千篇一律的HBase简介 HBase是Hadoop的数据库, 而Hive数据库的管理工具, HBase具有分布式, 可扩展及面向列存储的特点(基于谷歌BigTabl ...

  6. Ubuntu下安装JDK图文详解

    很详细的在Ubuntu中安装JDK图文详解教程,我们选择的是jdk1.6.0_30版本.安装文件名为jdk-6u30-linux-i586.bin. 1.复制jdk到安装目录 (1)假设jdk安装文件 ...

  7. CentOS7/RHEL7安装Redis步骤详解

    CentOS7/RHEL7安装Redis步骤详解 CentOS7/RHEL7安装Redis还是头一次测试安装了,因为centos7升级之后与centos6有比较大的区别了,下面我们就一起来看看Cent ...

  8. RedHat 7.1 下安装 Zabbix监控程序详解(适合linux初级用户)

    RedHat 7.1 安装 Zabbix 监控程序详解(适合对linux初级用户)2017-05-02 安装步骤: 1.zabbix需要安装LAMP架构 2.安装zabbix服务 3.初始化zabbi ...

  9. Vmware12安装centos系统详解

    vmware12安装centos7系统详解 用虚拟机12安装centos7系统详细安装过程,后附centos7下载地址. 工具/原料 虚拟机12 centos7系统镜像 方法/步骤 1 1.百度搜索c ...

随机推荐

  1. 获取屏幕宽高度与可视区域宽高度(availWidth、clientWidth、width、innerWidth)

    经常会遇到需要获取屏幕宽度.高度,可视区域宽度.高度等问题,也就常跟这几个打交道,一不小心,还真爱弄混淆了. 先来列举下这几个吧: screen.availHeight.screen.availWid ...

  2. for语句,你真正搞懂了吗?

    今天看书时,无意间看到了这个知识点,啥知识点?也许在各位大神看来,那是再简单不过的东西了. 说来惭愧.原来直到今天我才真正搞懂for语句. for语句的结构如下所示: for(语句A;语句B;语句C) ...

  3. TF-IDF_MapReduceJava代码实现思路

    TF-IDF 1.    概念   2.    原理   3.    java代码实现思路 数据集:   三个MapReduce 第一个MapReduce:(利用ik分词器,将一篇博文,也就是一条记录 ...

  4. 《HelloGitHub》第 22 期

    公告 年前最后一期,下次就是年后了,老时间 每月的 28 号,年后见- <HelloGitHub>第 22 期 兴趣是最好的老师,HelloGitHub 就是帮你找到兴趣! 简介 分享 G ...

  5. ceph rbd 封装api

    1.安装python,uwsgi,nginx环境 pip安装省略 yumgroupinstall"Developmenttools" yuminstallzlib-develbzi ...

  6. Python random模块(获取随机数)

    1.random.random 随机生成一个0到1的随机浮点数: 0 <= n < 1.0 In [2]: print random.random() 0.544824016934 2.r ...

  7. C# WinForm程序退出的方法比较

    1.this.Close();   只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出: 2.Application.Exit();  强制所有消息中 ...

  8. Assembly oth

    body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...

  9. 两层嵌套list,选取list中最长的list的长度

    # coding=utf-8 import pandas as pd file_path = "test_aa.xlsx" dt = pd.read_excel(file_path ...

  10. Linux指令--chgrp

    在lunix系统里,文件或目录的权限的掌控以拥有者及所诉群组来管理.可以使用chgrp指令取变更文件与目录所属群组,这种方式采用群组名称或群组识别码都可以.Chgrp命令就是change group的 ...