php memcached操作类

PHP写的memcached增删改封装类 将memcached的增删改等功能放进一个类,需要进行增删改操作时,只需要调用就可以 立即下载

1、简易版:

使用:

<?php
header('Content-Type:application/json; charset=utf-8');
header('Access-Control-Allow-Origin:*');

if (!defined('MEMCACHE_HOST')) {
	define('MEMCACHE_HOST', '***5');
	define('MEMCACHE_PORT', **);
}
include_once('memcache.php');

M:Set();
M:Get();
M:Del();

操作类

<?php
/*
*简单版
*/
class M
{
    static private $memc;
    static private $connected;


    static function _init()
    {/*
		$options["servers"] = array("*****");
		$options["debug"] = false;
		$options['compress'] = false;
		*/
        if (defined("MEMCACHE_HOST"))
            $host = MEMCACHE_HOST;
        else
            $host = "****";

        if (defined("MEMCACHE_PORT"))
            $port = MEMCACHE_PORT;
        else
            $port = 11200;

        self::$memc = memcache_pconnect($host, $port, 2);
        if (!self::$memc)
            //		self::$connected = true;
            self::$connected = false;
        else
            self::$connected = true;

    }

    static function Set($key, $val, $exptime = 0)
    {
        if (defined("MEMCACHE_DEFAULT_EXPTIME"))
            $exptime = MEMCACHE_DEFAULT_EXPTIME;
        if (self::$connected)
            return self::$memc->set($key, $val, 0, $exptime);
    }

    static function Get($key)
    {
        if (self::$connected)
            return self::$memc->get($key);
    }

    static function Add($key, $val)
    {
        if (self::$connected)
            return self::$memc->increment($key, $val);
    }

    static function Del($key)
    {
        if (self::$connected) {
            return self::$memc->delete($key);
        }
    }
}

M::_init();
?>

完整版:

<?php

/*  内存缓存管理  
*/

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 (emptyempty($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 (emptyempty($f)) {
            return FALSE;
        } else {
            return TRUE;
        }
    }

    /**
     * 取出对应的key的value
     *
     * @param mixed $key
     * @param mixed $flags
     * $flags 如果此值为1表示经过序列化,
     * 但未经过压缩,2表明压缩而未序列化,
     * 3表明压缩并且序列化,0表明未经过压缩和序列化
     */
    public function get($key, $flags = 0)
    {
        $val = @memcache_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表示20%压缩率
     */
    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());
}

?>

 

php操作memcached类 php操作memcached类 简单实用 立即下载

相关推荐

Memcached_程序与php中应用

里面memcached的程序,应用于php的memcached-client.php,memcached类, 还有一个关于memcached使用的示例文档url

MemCached的PHP客户端操作类

<?php // // +---------------------------------------------------------------------------+ // | memcached client, PHP

瞧字不识 2021

【3DSlicer】基于心脏ct影像重建3d模型及导出

软件:3DSlicer4.11 基于心脏ct影像重建3d模型

Liuees的博客 1万+

使用PHP简单操作Memcached

记得一定要先启动Memcached哦![root@localhost ~]# /usr/bin/memcached -d -l 127.0.0.1 -p 11211 -m 150 -u root使用ps命令查看一下运行状态:[root@localhost ~]# ps -ef | grep memcached 显示运行成功! 接下来就开始使用PHP操作Memcached啦! 1.创建一个Mem

梦想是成为一个弓箭手 9690

相机图像质量研究(15)常见问题总结:光学结构对成像的影响--暗角

老式相机的暗角往往比较明显,周围一圈能够明显感觉到亮度下降的很多,当然有些电源模仿手持相机的摄影效果,也能看到周围明显的亮度下降。一、

xiaoshixiu的专栏 1120

Python+Seaborn可视化:双因素方差分析结果这样呈现更专业

本文详细介绍了如何利用Python中的Seaborn和statsmodels库,专业地执行并可视化双因素方差分析结果。通过模拟实验数据,演示了从模型构建、统计检验(包括交互作用分析)到诊断验证的全流程。重点展示了如何使用Seaborn绘制交互效应图、组合分布图及热图,将复杂的统计结果转化为直观、富有洞察力的可视化图表,助力科研论文与商业报告的专业呈现。

weixin_29274969的博客 136

php memcached flags,php memcached操作类

1、简易版:使用:header('Content-Type:application/json; charset=utf-8');header('Access-Control-Allow-Origin:*');if (!defined('MEMCACHE_HOST')) {define('MEMCACHE_HOST', '***5');define('MEMCACHE_PORT', **);}inc...

weixin_39807859的博客 174

ROS2仿真抓取分拣案例,使用myCobot 280机械臂结合ROS2系统搭建机械分拣站

本案例展示了如何利用myCobot 280 urdf模型构建一个对象分类站,并在ROS2 jazzy中完成运动规划。

m0_71627844的博客 2125

php 使用memcached实例

memcached的封装类 &lt;?php class AdminModel { public $m=''; public function __construct() { //创建实例 $this-&gt;m = new Memcached(); $this-&gt;m-&gt;addServer('localho...

qq284944970的博客 2708

赛灵思Xilinx 7系列FPGA硬件设计知识总结

本文讲述了赛灵思7系列FPGA硬件设计的关键点,为使用该系列FPGA提供硬件设计参考。

csdn_dsw的博客 3616

Qt实现离线缓存地图(附完整源码)

Qt实现离线缓存地图(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 855

php memcached get,PHP Memcached操作类

/*** 缓存驱动* @author Devil* @version 1.0.0*/class CacheLibrary{private $c_obj;private $c_time;/*** [__construct 构造方法]*/public function __construct($host, $port = 11211){/* 实例化memcached */$this->c_obj...

weixin_39894914的博客 158

QGIS将经纬度坐标转成点

QGIS绘制一张地图

weixin_46713695的博客 6056

[转]MemCached的PHP客户端操作类一

MemCached的PHP客户端操作类一// // +---------------------------------------------------------------------------+ // | memcached client, PHP                                                     | // +---------

heiyeluren的blog(黑夜路人的开源世界) 4172

《拉依达的嵌入式\驱动面试宝典》—Linux篇(八)_Linux驱动编程

《拉依达的嵌入式\驱动面试宝典》 整合了所有我认为可能遇到的技术面试问题。所有问题及其答案均是我个人学习后查阅资料总结,每个回答都做了仔细的分析,在嵌入式及其驱动面试相关问题解析做到全网独一无二。学习或者转行到嵌入式、驱动开发领域学习的不二之选

拉依达不拉跨的博客 319

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

[转]MemCached的PHP客户端操作类二

 MemCached的PHP客户端操作类二/*  * MemCached PHP client  * Copyright (c) 2003  * Ryan Gilfether   * http://www.gilfether.com  *  * Originally translated from Brad Fitzpatricks  MemCached Perl client  * See

软件开发资料汇总 265

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

MemCached的PHP客户端操作类二

MemCached的PHP客户端操作类二 /* * MemCached PHP client * Copyright (c) 2003 * Ryan Gilfether * http://www.gilfether.com * * Originally translated from Brad Fitzpatrick's MemCached Perl cli

.... 763

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

上一篇: php5.3 mysql数据库的 mysql引擎 通用配置文件(简易版)
下一篇: php Redis操作类
阿……莫西林
博客等级 码龄9年 42粉丝 111原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值