加入收藏 | 设为首页 | 会员中心 | 我要投稿 济南站长网 (https://www.0531zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

Memcache基础教程

发布时间:2021-01-16 19:30:26 所属栏目:Linux 来源:http://www.danga.com/memcached
导读:副标题#e# Memcache是什么 Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力。 它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一
副标题[/!--empirenews.page--]

Memcache是什么
Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力。
它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个HashTable,Memcached自管理这些HashTable。
Memcache官方网站:http://www.danga.com/memcached,更多详细的信息可以来这里了解 :)

为什么会有Memcache和memcached两种名称?
其实Memcache是这个项目的名称,而memcached是它服务器端的主程序文件名,知道我的意思了把~~~~。一个是项目名称,一个是主程序文件名,在网上看到了很多人不明白,于是混用了。

Memcache的安装
分为两个过程:memcache服务器端的安装和memcached客户端的安装。
所谓服务器端的安装就是在服务器(一般都是linux系统)上安装Memcache实现数据的存储
所谓客户端的安装就是指php(或者其他程序,Memcache还有其他不错的api接口提供)去使用服务器端的Memcache提供的函数,需要php添加扩展。

具体的配置大家可以参考:
:http://www.ccvita.com/257.html
:http://www.ccvita.com/258.html
:http://www.ccvita.com/259.html
:http://www.ccvita.com/261.html
:http://www.ccvita.com/306.html
:http://www.ccvita.com/395.html

?

PHP的Memcache

</tr>
<tr>
<td class="source"><span class="pln">//连接
</td>

</tr>
<tr>
<td class="source"><span class="pln">$mem = new Memcache;
</td>

</tr>
<tr>
<td class="source"><span class="pln">$mem->connect("192.168.0.200",12000);
</td>

</tr>
<tr>
<td class="source"><span class="pln">?</td>

</tr>
<tr>
<td class="source"><span class="pln">//保存数据
</td>

</tr>
<tr>
<td class="source"><span class="pln">$mem->set('key1','This is first value',60);
</td>

</tr>
<tr>
<td class="source"><span class="pln">$val = $mem->get('key1');
</td>

</tr>
<tr>
<td class="source"><span class="pln">echo "Get key1 value: " . $val ."<span class="tag"><br<span class="pln"> <span class="tag">/><span class="pln">";
</td>

</tr>
<tr>
<td class="source"><span class="pln">?</td>

</tr>
<tr>
<td class="source"><span class="pln">//替换数据
</td>

</tr>
<tr>
<td class="source"><span class="pln">$mem->replace('key1','This is replace value',60);
</td>

</tr>
<tr>
<td class="source"><span class="pln">$val = $mem->get('key1');
</td>

</tr>
<tr>
<td class="source"><span class="pln">echo "Get key1 value: " . $val . "<span class="tag"><br<span class="pln"> <span class="tag">/><span class="pln">";
</td>

</tr>
<tr>
<td class="source"><span class="pln">?</td>

</tr>
<tr>
<td class="source"><span class="pln">//保存数组
</td>

</tr>
<tr>
<td class="source"><span class="pln">$arr = array('aaa','bbb','ccc','ddd');
</td>

</tr>
<tr>
<td class="source"><span class="pln">$mem->set('key2',$arr,60);
</td>

</tr>
<tr>
<td class="source"><span class="pln">$val2 = $mem->get('key2');
</td>

</tr>
<tr>
<td class="source"><span class="pln">echo "Get key2 value: ";
</td>

</tr>
<tr>
<td class="source"><span class="pln">print_r($val2);
</td>

</tr>
<tr>
<td class="source"><span class="pln">echo "<span class="tag"><br<span class="pln"> <span class="tag">/><span class="pln">";
</td>

</tr>
<tr>
<td class="source"><span class="pln">?</td>

</tr>
<tr>
<td class="source"><span class="pln">//删除数据
</td>

</tr>
<tr>
<td class="source"><span class="pln">$mem->delete('key1');
</td>

</tr>
<tr>
<td class="source"><span class="pln">$val = $mem->get('key1');
</td>

</tr>
<tr>
<td class="source"><span class="pln">echo "Get key1 value: " . $val . "<span class="tag"><br<span class="pln"> <span class="tag">/><span class="pln">";
</td>

</tr>
<tr>
<td class="source"><span class="pln">?</td>

</tr>
<tr>
<td class="source"><span class="pln">//清除所有数据
</td>

</tr>
<tr>
<td class="source"><span class="pln">$mem->flush();
</td>

</tr>
<tr>
<td class="source"><span class="pln">$val2 = $mem->get('key2');
</td>

</tr>
<tr>
<td class="source"><span class="pln">echo "Get key2 value: ";
</td>

</tr>
<tr>
<td class="source"><span class="pln">print_r($val2);
</td>

(编辑:济南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!