什么是memcache?
Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度(摘自360百科)
它相当于一个内存数据库 可以减少对数据库的操作.
最初看见是在公司的一个PHP接口服务器中。
安装:
在ubuntu中的安装方式: 挖坑(下次填写 操作步骤忘记了)
apt-get install memcached
安装好后
sudo memcached start 启动
/etc/memcached.conf 是默认的配置文件
-p 监听的端口
-l 连接的IP地址, 默认是本机
-d start 启动memcached服务
-d restart 重起memcached服务
-d stop|shutdown 关闭正在运行的memcached服务
-d install 安装memcached服务
-d uninstall 卸载memcached服务
-u 以的身份运行 (仅在以root运行的时候有效)
-m 最大内存使用,单位MB。默认64MB
-M 内存耗尽时返回错误,而不是删除项
-c 最大同时连接数,默认是1024
-f 块大小增长因子,默认是1.25-n 最小分配空间,key+value+flags默认是48
-h 显示帮助2)安装Memcache客户端
php memcache模块安装方法:
sudo apt-get install php5-memcache
使用方法: php手册用有该模块的使用说明
<?php /* OO API */ $memcache_obj = new Memcache; /* connect to memcached server */ $memcache_obj->connect('memcache_host', 11211); /* 设置'var_key'对应值,使用即时压缩 失效时间为50秒 */ $memcache_obj->set('var_key', 'some really big variable', MEMCACHE_COMPRESSED, 50); echo $memcache_obj->get('var_key'); ?>
python : 模块下载地址 https://pypi.python.org/pypi/python-memcached
import memcache mc = memcache.Client(['127.0.0.1:11211']) mc.set('hello','world') mc.get('hello')
一些说明:
memcached 没有安全认证 所以如果把配置的-l 监听IP该为本地以外的IP 可能导致数据安全性问题
以后用熟悉了再填坑
CI 是 memcacehd 你安装的是 memcache 差了一个"d"字符,差别就很大了。CI 只支持 memcached,不支持 memcache。Windows 下只有 memcache。
memcache服务器,要特殊配置,内存要大,其他硬件能用即可
其他解决方案:可以配置分布式缓存
因为memcache一般是只供局域网使用的
工作原理是:web服务器使用memcache缓存,然后把数据缓存在memcache服务器上,memecache只用到内存
数据量过大只能增加服务器,部署分布式缓存
其他可以再联系