zoukankan      html  css  js  c++  java
  • Memcache

    1.1 Memcached的介绍

     MemCache是一个自由、源码开放、高性能、分布式的内存对象缓存系统,用于动态Web应用以减轻数据库的负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高了网站访问的速度。

     MemCaChe是一个存储键值对的HashMap,在内存中对任意的数据(比如字符串、对象等)所使用的key-value存储,数据可以来自数据库调用、API调用,或者页面渲染的结果。

    1.2 memcache的工作原理

    由于它的工作机制是在内存中开辟一块空间,然后建立一个HashTable

    Memcached管理这些HashTable,所以速度非常快。

     

     

     

     

     

     

    1.3 Memcache的作用

    使用Memcache的网站一般流量都是比较大的,为了缓解数据库的压力,让Memcache作为一个缓存区域,把部分信息保存在内存中,在前端能够迅速的进行存取。那么一般的焦点就是集中在如何分担数据库压力和进行分布式,毕竟单台Memcache的内存容量的有限的。

    Windows、Linux安装过程见课程67文档详解

     

    php连接memcache(windows)

    4.1 phpmemcache的基本操作

    set():设置一个key给它赋值

    set(key,val,zip,expire)

    key:键名

    val:键值

    zip:数据是否压缩,压缩:MEMCACHE_COMPRESSED

    expire:过期时间,0:永不过期

    add():添加一个key给它赋值,它只能添加一个键名,不能添加一个已经存在的键名。

    get():得到Key的值

    replace():修改一个key的值

    delete();删除一个Key的值

    increment:给一个键名增加值

    decrement:给一个键名减去值

     

    具体实例1:创建一个memcache对象

    具体实例2:在memcache中设置(缓存)数据,并读取数据

    具体实例3add的使用,不能添加一个已经存在的值,返回的就是false.

    具体实例4:修改一个键名的值

    具体实例5:删除一个键名

    具体实例6:缓存数组和对象

    具体实例7:增加数据的值和减去数据的值

     

     

    4.2 开启多个端口

    设置不同的端口并开启:默认的端口是11211

    具体实例1:开启另外一个端口11212

    具体实例2:使用11212这个端口

     

    .设置分布式的memcache

    5.1 pdo缓存

    具体实例1pdo+mysql+memcache来缓存数据库中的数据

      

    输出结果:从数据中读取数据

    输出结果是:从缓存中读取数据

    5.2添加服务器:addServer()

    具体实例1:添加多台服务器,减轻服务器的负载量,或者我们称之为分布式部署。

     

    .利用thinkphp使用memcache的方法

    6.1 S函数的使用

    具体实例1:使用thinkphp中大S函数缓存数据

    输出的结果:第一次从数据库中读取数据所用的时间

    输出的结果:第二次以后从缓存中读取数据所用的时间

    S函数的总结说明:

    1.初始化配置

    S(array(

    'type' =>'memcache',

    'host'=>'127.0.0.1',

    'port'=>'11211',)

    );

    2.给缓存数据赋值

    S(键名,键值);

    例如:

    S(‘list’,$data);

    3.读取缓存数据的值

    S(键名);

    例如:

    S(‘list’);

     

  • 相关阅读:
    [转贴]ASP.NET下对远程SQL SERVER数据库的备份和恢复的存储过程
    [原创]一个不错TreeView的样式
    [转贴]如何在ASP.NET中用OWC绘制图表
    [讨论]如何提高博客的访问量,写什么样的文章比较吸引读者啊!
    Revit API电缆桥架CableTray
    黄聪:win7系统下麦克风无法使用、有杂音和电流声的解决办法
    黄聪:.Net Framework Initialization Error – Unable to find a version of the runtime to run this application解决方案
    黄聪:js、Jquery将日期例如(20120903)转换为数字格式
    黄聪:wordpress文章同步发布到网易、天涯、新浪博客、百度空间插件
    黄聪:WIN7下安装 virtualbox WIN7系统 无法安装增强功能
  • 原文地址:https://www.cnblogs.com/lxj0205/p/9889350.html
Copyright © 2011-2022 走看看