读书人

使用memcache处置缓存的三种方案

发布时间: 2013-10-22 16:17:03 作者: rapoo

使用memcache处理缓存的三种方案

这篇文章主要讨论的问题是:如何为项目设计一个完整而简洁的缓存系统。只讲做法,不讲原理。在我们项目中,使用到了三种方法,来保证了缓存系统的有效简洁。

1) 第一种,最常见的方式 读取数据的主要步骤如下:

1)先从缓存中获取数据(如果在缓存中获取到,则直接返回已获取的数据)

2)如果获取不到,再从数据库里面读取相应的数据

3) 把获取到的数据加入缓存中

注意:这种方式是在Model层,也就是业务处理层加入的。

实例代码如下:

    /**     * 删除(根据主键)     *     * @param mixed $pk     * @param array $extraWhere 格外的WHERE条件     * @return bool     */    public function deleteByPk($pk, array $extraWhere = array())    {        $where = $this->_getPkCondition($pk);        if ($extraWhere) {            $where = array_merge($where, $extraWhere);        }        if (! $result = $this->where($where)->delete()) {            return $result;        }        // 清理缓存        if ($this->_isCached) {            $this->_deleteRowCache($pk);        }        // 统计Memcache读写次数        Dao('Massive_MemcacheRecord')->mark($this->_dbName, $this->_tableName, __METHOD__, 1);        return $result;    }




读书人网 >软件架构设计

热点推荐