PHP中Memcache操作类使用方法

/ * 输出变量值 \ @access global * @param mixed $var * @param bool
$stop @return void \/function d($var,$stop = true){ $type =
gettype($var); if($type === ‘array’) print_r($var); else if($type ===
‘unknown type’) echo ‘unknown type’; else echo var_dump($var);
if($stop) exit;}

array_sort 给多维数组排序
运用场景:不时候有这么的要求 比方有三个挑选卡 里面分别存放分裂的数据
分别是从不相同的多少表里抽取来的
然后在那多少个选项卡的前方还应该有叁个风靡也许火热的选项
那就必要将双方的数量揉合起来 可是又要依据点击率大概时间对其排序
假若数据都以从同一数据表里抽出来的 那么就很好办
在取多少的SQL里加八个O奥迪Q3DECRUISER BY子句就行了 不过数量来自区别的表该如何是好呢
只要那个数量具有同样的键名
那么就可以使用上边的函数遵照那些键名举办排序(这几个键名下的键值一定借使数值
不可能再是数组也许目的)

 代码如下

正文实例叙述了PHP中Memcache操作类及用法。分享给大家供大家参谋。具体解析如下:

出口各类量成员的调节和测量试验函数

代码原理:将需求依照其排序的那些键的键值单独拿出来 组成三个一维数组
然后对其张开排序 实际上是对原数组的键名举办了排序
然后依照那么些已排好序的键名去查究先前的键值 最后回来那些新数组
/**

<?php
    /*  author:凹凸曼(lyc)
    /*  email: jar-c@163.com
    /*  内部存款和储蓄器缓存处理
    */
class Yc_Memcache{
 private $memcache=null; 
 
 public function __construct(){
 }
 /**
    * 连接数据库
    *
    * @param mixed $host
    * @param mixed $port
    * @param mixed $timeout
    */
 public  function connect($host,$port=11211,$timeout=1){
  if(!function_exists(memcache_connect)){ return FALSE;}
  $this->memcache=@memcache_connect($host,$port,$timeout);
  if(empty($this->memcache)){
   return FALSE;
  }else{
   return TRUE;
  }
 }
    /**
    * 存放值
    *
    * @param mixed $key
    * @param mixed $var
    * @param mixed $flag   默认为0不降价扣 
压缩状态填写:MEMCACHE_COMPRESSED
    * @param mixed $expire  暗许缓存时间(单位秒)
    */
 public function set($key,$var,$flag=0,$expire=10){
 
  $f=@memcache_set($this->memcache,$key,$var,$flag,$expire);
  if(empty($f)){
   return FALSE;
  }else{
   return TRUE;
  }
 }
    /**
    * 抽取相应的key的value
    *
    * @param mixed $key
    * @param mixed $flags
    * $flags 借使此值为1表示通过体系化,
    * 但未经过压缩,2申明压缩而未类别化,
365bet娱乐下载 ,    * 3注明压缩并且体系化,0声明未经过压缩和体系化
    */
 public function get($key,$flags=0){
  $val=@memcache_bet356体育在线 ,get($this->memcache,$key,$flags);
  return $val;
 }
 /**
    * 删除缓存的key
    *
    * @param mixed $key
    * @param mixed $timeout
    */
 public function delete($key,$timeout=1){
  $flag=@memcache_delete($this->memcache,$key,$timeout);
  return $flag;
 }
    /**
    * 刷新缓存但不自由内部存款和储蓄器空间
    *
    */
 public function flush(){
  memcache_flush($this->memcache);
 }
    /**
    * 关闭内部存款和储蓄器连接
    *
    */
 public function close(){
  memcache_close($this->memcache);
 }
    /**
    * 替换对应key的value
    *
    * @param mixed $key
    * @param mixed $var
    * @param mixed $flag
    * @param mixed $expire
    */
 public function replace($key,$var,$flag=0,$expire=1){
  $f=memcache_replace($this->memcache,$key,$var,$flag,$expire);
  return $f;
 }
    /**
    * 开启大值自动削减
    *
    * @param mixed $threshold 单位b
    * @param mixed $min_saveings 暗中同意值是0.2意味四成压缩率
    */
 public function setCompressThreshold($threshold,$min_saveings=0.2){
 
$f=@memcache_set_compress_threshold($this->memcache,$threshold,$min_saveings);
  return $f;
 }
    /**
    * 用于获取四个服务器的在线/离线状态
    *
    * @param mixed $host
    * @param mixed $port
    */
 public function getServerStatus($host,$port=11211){
  $re=memcache_get_server_status($this->memcache,$host,$port);
  return $re;
 }
    /**
    * 缓存服务器池中有着服务器总计音信
    *
    * @param mixed $type 期望抓取的总计新闻种类,能够采取的值有{reset,
malloc, maps, cachedump, slabs, items, sizes}
    * @param mixed $slabid  cachedump命令会完全占用服务器一般用于
相比严刻的调
    * @param mixed $limit 从服务端获取的实业条数
    */
 public function getExtendedStats($type=”,$slabid=0,$limit=100){
 
$re=memcache_get_extended_stats($this->memcache,$type,$slabid,$limit);
  return $re;
 }
}
 
/***********测验区域********************/
$mem=new Yc_Memcache();
 
$f=$mem->connect(‘125.64.41.138’,12000);
var_dump($f);
if($f){
// $mem->setCompressThreshold(2000,0.2);
 $mem->set(‘key’,’hello’,0,30);
//        var_dump($mem->delete(‘key1’));
 // $mem->flush();
// var_dump($mem->replace(‘hao’,’d’));
// echo $mem->get(‘key’);
 echo $mem->getServerStatus(‘127.0.0.1’,12000);
 echo $mem->get(‘key’);
 echo ‘<pre>’;
 print_r($mem->getExtendedStats());
}
 
?>

复制代码 代码如下:

发表评论

电子邮件地址不会被公开。 必填项已用*标注