memcache 操作类

1.示例代码

<?php
namespace Common\Drive;

use \Memcache;

/**
 * Memcache 缓存操作类
 */
class Mcache 
{
    protected static $_instance = null;
    private $mcache;
    const CACHE_KEY     = 'userinfo';

    /**
     * Singleton instance
     *
     * @return Object
     */
    public static function getInstance($dbHost, $port)
    {
        if (self::$_instance === null) {
            self::$_instance = new self($dbHost, $port);
        }
        return self::$_instance;
    }

    /**
     * 链接Memcache缓存
     */
    public function __construct ($host='127.0.0.1', $port='11211')
    {
        if($this->mcache) return $this->mcache;
        $this->mcache = new Memcache();
        $this->mcache ->connect($host, $port);
    }

    /**
     * 获取key值
     * @param $key
     * @return mixed
     */
    public function get($keyssss)
    {
        $key = md5(static::CACHE_KEY.$keyssss);
        return $this->mcache->get($key);
    }


    /**
     * 设置key值
     * @param $key
     * @param $str
     * @return mixed
     */
    public function set($keyssss, $str, $time=60)
    {
        $key = md5(static::CACHE_KEY.$keyssss);
//        echo '设置'.$keyssss.'===='.$key.PHP_EOL;
        return $this->mcache->set($key, $str, 0, $time);
    }


    /**
     * 获取用户信息
     * @param $key
     * @return array|string
     */
    public function getUserInfo($key)
    {
        return $this->mcache->get($key);
    }

}

2.新增一个memcache服务

命令:
/usr/local/memcached/bin/memcached -d -m 200 -u root -p 12345 -c 1000 -P /tmp/memcached.pid

d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,这里是200MB
-u是运行Memcache的用户,如果当前为 root 的话,需要使用此参数指定用户。
-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.168.1.91
-p是设置Memcache监听的端口,我这里设置了12301,最好是1024以上的端口
-c选项是最大运行的并发连接数,默认是1024,这里设置了256
-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid

停止Memcache进程:
# kill `cat /tmp/memcached.pid`
也可以启动多个守护进程,但是端口不能重复

-d install 安装memcached
-d uninstall 卸载memcached
-d start 启动memcached服务
-d restart 重启memcached服务
-d stop 停止memcached服务
-d shutdown 停止memcached服务

1、查看启动的memcache服务:
   netstat -lp | grep memcached

2、查看memcache的进程号(根据进程号,可以结束memcache服务:“kill -9 进程号”)
   ps -ef | grep memcached

    原文作者:mmy123456
    原文地址: https://segmentfault.com/a/1190000007076749
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞