php之memcache操作

一,memcache 与 memecached的区别与联系:
memcache扩展是完全在PHP框架内开发的,

memecached扩展是使用libmemcached的。

从手册上看,memcached 会比 memcache 多几个方法,使用方式上都差不多
二,php使用 memcache
<?php
  $memcache = new Memcache;
  $memcache->connect('localhost', 11211) or die ("Could not connect");
  echo "Memcached's version: " . $memcache->getVersion() . "<br />";
  
  // 缓存服务器中,都是键值对,这里我们设定唯一的键
  $memcache_key = "xxxxxxxxxx"; // 随便命名,与其他缓存不要重复 
  // 根据键,从缓存服务器中获取它的值
  $cache_result = $memcache->get($memcache_key);  

  // 没有再取值缓存(数组,字符串都行)
  if(!$cache_result){
        $result = array("id"=>'1',"name"=>'小明');
        // 使用MEMCACHE_COMPRESSED指定对值进行压缩(使用zlib)。可以 为  0;1200秒
        $memcache->set($memcache_key, $result, MEMCACHE_COMPRESSED, 1200);
  }
三,php使用 memcached
<?php
// 包含 memcached 类文件
require_once('memcached-client.php');

$options = array(
    // memcached 服务的地址、端口,可用多个数组元素表示多个 memcached 服务
    'servers' => array('192.168.1.1:11211'), 
    'debug' => true, // 是否打开 debug
    'compress_threshold' => 10240, // 超过多少字节的数据时进行压缩
    'persistant' => false // 是否使用持久连接
);

// 创建 memcached 对象实例
$mc = new memcached($options);
// 设置此脚本使用的唯一标识符
$key = 'mykey'; // 随便取名,与其他的缓存键不重名就行

// 往 memcached 中写入对象
$mc->add($key, 'some random strings');   // 添加
$val = $mc->get($key);

// 替换已写入的对象数据值
$mc->replace($key, array('some'=>'haha', 'array'=>'xxx'));   // 替换
$val = $mc->get($key);

// 删除 memcached 中的对象
$mc->delete($key);               // 删除
$val = $mc->get($key);

// str_pad 再 填充到60个字符长
echo "n".str_pad('$mc->delete() ', 60, '_')."n";
var_dump($val);
四, memcache定时
// 标签时间缓存
        $memcahe = OpMemcache::getInstance();
        $memcaheKey = "DECORATION_SIGN_TAG_TIME";
        $ref = $memcahe->get($memcaheKey);
        if ($ref == false || $ref + 3600 < time()) {
            $ref = time();
            $memcahe->set($memcaheKey, $ref, 0, 3600);
            $refresh = true;
        }
        ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值