memcache 操作类

<?php

/**
 * memcache 操作实现
 * @author timeless
 */
class Memcache_manage {

    //CI原始的信息
    private $_ci;
    private $_memcache_prefix;
    private $host;
    private $port;
    private $expire;
    private $weight;

    /**
     * 读取配置文件信息然后更新
     * @access public
     */
    public function memcache($flag = 'default') {
        //要你自定义的类库中访问CodeIgniter的原始资源,你必须使用 get_instance() 函数.这个函数返回一个CodeIgniter super object.
        $this->_ci = &get_instance();
        //记载memcache 缓存配置     //memcached 中的数据     

/* memcahed.php 文件中的配置信息 CI框架中
$config = array( //现在是单独的memcache 服务器 以后可以添加多个 只需要 mem 对象添加 addserver 'default' => array( 'hostname' => '127.0.0.1', 'port' => '11211', 'weight' => '1', //100分钟 'expire' => '6000', 'memcache_prefix'=>'', ), );      */ $this->_ci->config->load('memcached', FALSE, TRUE); //获取配置文件 $default_conf = $this->_ci->config->item('default'); $this->host = $default_conf['hostname']; $this->port = $default_conf['port']; $this->expire = $default_conf['expire']; $this->weight = $default_conf['weight']; $this->_memcache_prefix = $default_conf['memcache_prefix']; $this->connected_server = array(); $this->_connect(); } /** * 连接memcache 数据库 * @access private */ private function _connect() { if (function_exists('memcache_connect')) { $this->cache = new Memcache; $this->_connect_memcached(); } } /** * 添加memcache 服务器 * @access private */ private function _connect_memcached() { $error_display = ini_get('display_errors'); $error_reporting = ini_get('error_reporting'); if ($this->cache->addServer($this->host, $this->port, TRUE, $this->weight)) { $this->connected_server[] = $this->host; } ini_set('error_reporting', $error_reporting); } public function get($key) { if (empty($this->connected_server)) { return false; } return $this->cache->get($this->key_name($key)); } public function set($key, $data) { if (empty($this->connected_server)) { return false; } return $this->cache->set($this->key_name($key), $data, 0, $this->expire); } public function set_expire($key, $data, $expire) { if (empty($this->connected_server)) { return false; } return $this->cache->set($this->key_name($key), $data, 0, $expire); } public function replace($key, $data) { if (empty($this->connected_server)) { return false; } return $this->cache->replace($this->key_name($key), $data, 0, $this->expire); } public function delete($key, $when = 0) { if (empty($this->connected_server)) { return false; } return $this->cache->delete($this->key_name($key), $when); } public function flush() { return $this->cache->flush(); } /** * @Name: 生成md5加密后的唯一键值 * @param:$key key * @return : md5 string * */ private function key_name($key) { return md5(strtolower($this->_memcache_prefix . $key)); } }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值