您的位置:首页 > 数据库 > Memcache

memcache的学习小结

2014-06-24 22:53 537 查看
一、Memcached是一个高性能的分布式的内存对象缓存系统,目前全世界不少人使用这个缓存项目来构建自己大负载的网
站,来分担数据库的压力,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、
视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度

二、Memcached的使用
1.安装,在cmd控制台中,转换到memcached的安装目录下,运行如下的命令 memcached.exe -d install
2.开启memcached的服务①在电脑的服务里手动的开启②运用命令开启 memcached.exe -d start 或者 memcached.exe -p start
注:后一种的命令的开启的方式会占用控制台,当控制台关闭的时候,memcached的服务也会关闭
memcached的监听的端口是11211
3.怎样来操作memcached的curd操作了
①通过php程序来操作(最常用的)
配置
将php_memcache.dll拷贝到php安装目录中的ext目录中
在php.ini中加载php_memcache.dll
extension=php_memcache.dll
重启apache
这样配置过后就可以使用了
$mem=new Memcacahe;
//基本的方法
add();添加一个数据
set();设置一个数据,有就修改,没有就添加
delete();删除一个数据
replace();修改一个数据,必须是存在的数据,这是和set放发的区别。

get();取得一个数据
注:在取对象的时候,当存数据的文件和取数据的文件不一样的时候,回报一个错误,大致意思是数据不完整的错误,
要避免这个错误,就的包整个类给拷贝到去数据的文件中。
(注:模块的版本一定要于php的版本相一致,不然apache重启不了)
②通过telnet工具连接memcached服务来操作
telnet 127.0.0.1 11211
③通过memcache―client源码来操作
到网上下载源码来操作memcache,扩展性比较好,只是速度没有操作php_memcache.dll的速度快

4.memcache可以存储的数据类型。
memcache中可以存储出了资源类型以外的其他的任何类型的数据类型
5.memcache中存储session数据
配置
在php的配置中,默认的session的数据是一文件(file)的形式存储的,这了可以设置为以memcache的形式来存储,配置
如下:
session.save_handle=memcache
session.save_path="tcp://127.0.01:11211"
如果服务器是远程的话,可以通过ini_set()函数来设置,这个设置只是对本文脚本起作用

注:存储到memcache中的session是不和用户绑定的,就是说只要知道key,任何人都可以取出来,而session是和用户绑定的

6.memcache的安全
memcache是独立的一个服务,当memcache放在一个公网的时候,任何人都可以进来访问,这样会造成数据的极度不安全,所以
我们要将memcache服务器放在一个内网里面,加上防火墙,只允许自己主机访问.

7.多台memcache服务器的使用
当我们有多台服务器的时候,可以使用addServer()连接池的方式来添加多个memcache服务,我们的数据存到了那个服务
器上,和我们怎样正确的取出数据,器内部已有一套算法,不必我们操心.memcache默认的存储的大小是64M,当数据满了
的时候,memcache会根据自己内部的算法,来自动的删除一些数据.各个服务器间的数据是不会同步的.

memcache的单个数据的限制的大小是1M.
memcache的数据默认是压缩存储的.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: