memcache总结

Original 2019-01-21 15:07:29 319
abstract:本章主要学习了memcache,了解了memcache是分布式内存对象缓存数据库,通过key-value的方式把数据存储到内存中去,通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高了系统访问的速度。memcache有以下特性和限制:1、MemCache中可以保存的item数据量是没有限制的,只要内存足够2、MemCache单进程在32位机中最大使用内存为2G,64位机则没有限制3、Key

本章主要学习了memcache,了解了memcache是分布式内存对象缓存数据库,通过key-value的方式把数据存储到内存中去,通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高了系统访问的速度。

memcache有以下特性和限制:

1、MemCache中可以保存的item数据量是没有限制的,只要内存足够

2、MemCache单进程在32位机中最大使用内存为2G,64位机则没有限制

3、Key最大为250个字节,超过该长度无法存储

4、单个item最大数据是1MB,超过1MB的数据不予存储

5、MemCache服务端是不安全的,比如已知某个MemCache节点,可以直接telnet过去,并通过flush_all让已经存在的键值对立即失效

6、不能够遍历MemCache中所有的item,因为这个操作的速度相对缓慢且会阻塞其他的操作

7、MemCache的高性能源自于两阶段哈希结构:第一阶段在客户端,通过Hash算法根据Key值算出一个节点;第二阶段在服务端,通过一个内部的Hash算法,查找真正的item并返回给客户端。从实现的角度看,MemCache是一个非阻塞的、基于事件的服务器程序

8、MemCache设置添加某一个Key值的时候,传入expiry为0表示这个Key值永久有效,但这个Key值也会在30天之后失效

9、多线程、速度快

memcache可以通过以下方式存储值,设置方式:set key flag expiretime bytes value,key为变量名,flag标识,expiretime为变量有效时间,bytes为字段的字节大小,value变量的值。

memcache可以通过以下方式获取值,获取方式:get key,可以为变量名,如果缓存中已有变量,则返回变量的值,如果没有,则不返回任何数据。

memcache可以通过以下方删除现有值,删除方式:delete key,key为变量名。

memcache可以通过以下方清空所有值,处理方式:flush_all。设置后,缓存中所有的键值对将过期,不能再获取到值。

在php中,设置memcache的值的方法主要通过:

1、创建memcache对象:$mem=new Memcache();

2、连接memcache服务器:$mem->connect(服务器地址);

3、设置memcache的值:$mem->set('变量名','变量值',MEMCACHE_COMPRESSED,存放秒数);

通过以下方式获取值:

1、创建memcache对象:$mem=new Memcache();

2、连接memcache服务器:$mem->connect(服务器地址);

3、获取memcache的值:$mem->get('变量名');

通过以下方式删除值:

1、创建memcache对象:$mem=new Memcache();

2、连接memcache服务器:$mem->connect(服务器地址);

3、获取memcache的值:$mem->delete('变量名');

通过以下方式清空所有值:

1、创建memcache对象:$mem=new Memcache();

2、连接memcache服务器:$mem->connect(服务器地址);

3、获取memcache的值:$mem->flush();

在tp5.1中,通过修改config/cache.php文件返回数组的type为memcache,并通过Cache::set('变量名','变量值');的方式设置值,通过Cache::get('变量名');的方式获取值

Correcting teacher:天蓬老师Correction time:2019-01-21 16:13:04
Teacher's summary:$mem->flush();, 获取值的类型, 这里也一并给出

Release Notes

Popular Entries