PHP 中使用 Memcached 作缓存(2)- 使用 memcache扩展工作

首先介绍几个容易混淆的概念:

Memcached          :Memcached缓存服务器服务器端
libmemcached       :客户端链接库文件和名行工具
php-pecl-memcache  :Memcached缓存服务器协作的php 扩展,有时候我们简称为 memcache
php-pecl-memcached :基于 libmemcached 的支持并发操作的和 Memcached缓存服务器协作的 php扩展,有时候我们简称为 memcached

memcache 扩展提供了一个名为 Memcache的类,和一系列以memcahe_开头的函数,它有下面这些方法:

Memcache::addServer         :向连接池中添加一个 Memcached服务器,对应函数 memcache_add_server()
Memcache::connect           :打开一个memcached服务端连接,对应函数 memcache_connect()
Memcache::pconnect          :打开一个到服务器的持久化连接,对应函数 memcache_pconnect()
Memcache::close             :关闭 memcache连接,它不会关闭长连接,对应函数 memcache_close()
Memcache::get               :从服务端检回一个或多个数据,假如第一个参数为数组就会取回数组中键所所对应的数据,
                              假如出错或者数据不存在就返回 FALSE,对应函数 memcache_get()
Memcache::add               :向缓存服务器中添加一对键值,只有当对应的键未存储是才能成功,对应函数 memcache_add()
Memcache::replace           :替换已经存在的键的值,对应函数 memcache_replace()
Memcache::set               :假如对应的键不存在就新增,存在就替换其值,对应函数 memcache_set()
Memcache::delete            :在服务器中删除一对键值,对应函数 memcache_flush()
Memcache::flush             :清除服务器中所有已经存储的数据,对应函数 memcache_flush()
Memcache::decrement         :增加一个键的值,对应函数 memcache_decrement()
Memcache::increment         :减小一个键的值,对应函数 memcache_increment()
Memcache::getExtendedStats  :获取缓存服务器池中所有服务器统计信息,对应函数 memcache_get_extended_stats()
Memcache::getServerStatus   :获取一个服务器的在线/离线状态,对应函数 memcache_get_server_status()
Memcache::getStats          :获取服务器统计信息,对应函数memcache_get_stats()
Memcache::getVersion        :返回服务器版本信息,对应函数memcache_get_version()
Memcache::setServerParams   :修改服务器运行的参数和状态,对应函数memcache_set_server_params()
Memcache::setCompressThreshold :开启大值自动压缩,对应函数memcache_set_compress_threshold()

下面我们来举例说明如何使用:
1、面向过程示例

<?php
$oMemCache = memcache_connect('127.0.0.1', 11211);
echo "\n[Add one,two]\n";
memcache_add($oMemCache, 'one', '1111111111');
memcache_add($oMemCache, 'two', '2222222222');
echo 'one    : ', memcache_get($oMemCache, 'one'), "\n";
echo 'two    : ', memcache_get($oMemCache, 'two'), "\n";

echo "\n[Replace two]\n";
memcache_replace($oMemCache, 'two', 'Two Two');
echo 'two    : ', memcache_get($oMemCache, 'two'), "\n";

echo "\n[Set three]\n";
memcache_set($oMemCache, 'three', '3333333333');
echo 'three  : ', memcache_get($oMemCache, 'three'), "\n";

echo "\n[Set four]\n";
memcache_set($oMemCache, 'four', '44444444444');
echo 'four   : ', memcache_get($oMemCache, 'four'), "\n";

echo "\n[Delete three]\n";
memcache_delete($oMemCache, 'three');
echo 'one    : ', memcache_get($oMemCache, 'one'), "\n";
echo 'two    : ', memcache_get($oMemCache, 'two'), "\n";
echo 'three  : ', memcache_get($oMemCache, 'three'), "\n";
echo 'four   : ', memcache_get($oMemCache, 'four'), "\n";

echo "\n[Flush]\n";
memcache_flush($oMemCache);
echo 'one    : ', memcache_get($oMemCache, 'one'), "\n";
echo 'two    : ', memcache_get($oMemCache, 'two'), "\n";
echo 'three  : ', memcache_get($oMemCache, 'three'), "\n";
echo 'four   : ', memcache_get($oMemCache, 'four'), "\n";

memcache_close($oMemCache);

输出:

[Add one,two]
one    : 1111111111
two    : 2222222222

[Replace two]
two    : Two Two

[Set three]
three  : 3333333333

[Set four]
four   : 44444444444

[Delete three]
one    : 1111111111
two    : Two Two
three  : 
four   : 44444444444

[Flush]
one    : 
two    : 
three  : 
four   : 

2、面向对象示例

<?php
$oMemCache = new \Memcache();
$oMemCache->connect('127.0.0.1', 11211, 10);
echo "\n[Add one,two]\n";
$oMemCache->add('one', '1111111111');
$oMemCache->add('two', '2222222222');
echo 'one    : ', $oMemCache->get('one'), "\n";
echo 'two    : ', $oMemCache->get('two'), "\n";

echo "\n[Replace two]\n";
$oMemCache->replace('two', 'Two Two');
echo 'two    : ', $oMemCache->get('two'), "\n";

echo "\n[Set three]\n";
$oMemCache->set('three', '3333333333');
echo 'three  : ', $oMemCache->get('three'), "\n";

echo "\n[Set four]\n";
$oMemCache->set('four', '44444444');
echo 'four   : ', $oMemCache->get('four'), "\n";

echo "\n[Delete three]\n";
$oMemCache->delete('three');
echo 'one    : ', $oMemCache->get('one'), "\n";
echo 'two    : ', $oMemCache->get('two'), "\n";
echo 'three  : ', $oMemCache->get('three'), "\n";
echo 'four   : ', $oMemCache->get('four'), "\n";

echo "\n[Flush]\n";
$oMemCache->flush();
echo 'one    : ', $oMemCache->get('one'), "\n";
echo 'two    : ', $oMemCache->get('two'), "\n";
echo 'three  : ', $oMemCache->get('three'), "\n";
echo 'four   : ', $oMemCache->get('four'), "\n";

$oMemCache->close();

输出:

[Add one,two]
one    : 1111111111
two    : 2222222222

[Replace two]
two    : Two Two

[Set three]
three  : 3333333333

[Set four]
four   : 44444444

[Delete three]
one    : 1111111111
two    : Two Two
three  : 
four   : 44444444

[Flush]
one    : 
two    : 
three  : 
four   :

One Trackback

  1. […] 薹翮 我悄悄地离开,在昨天;今天我又静静地到来 SEO 查询工具   « PHP 中使用 Memcached 作缓存(2)- 使用 memcache扩展工作 […]

Post a Comment

Your email is never shared. Required fields are marked *

*
*