Heim  >  Artikel  >  php教程  >  memcache的使用,memcache使用

memcache的使用,memcache使用

WBOY
WBOYOriginal
2016-06-13 09:24:021058Durchsuche

memcache的使用,memcache使用

什么是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 的memcache怎使用配置

CI 是 memcacehd 你安装的是 memcache 差了一个"d"字符,差别就很大了。CI 只支持 memcached,不支持 memcache。Windows 下只有 memcache。
 

怎合理的使用memcache缓存?如果缓存数据量过大怎部署?

memcache服务器,要特殊配置,内存要大,其他硬件能用即可
其他解决方案:可以配置分布式缓存
因为memcache一般是只供局域网使用的
工作原理是:web服务器使用memcache缓存,然后把数据缓存在memcache服务器上,memecache只用到内存

数据量过大只能增加服务器,部署分布式缓存

其他可以再联系
 

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn