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’);

 

 

posted @ 2018-11-02 16:19  L1230205  阅读(253)  评论(0编辑  收藏  举报