zoukankan      html  css  js  c++  java
  • 微擎框架的缓存机制实现源码解读

    首先,在配置文件中有如下配置:

    # /data/config.php
    
    $config['setting']['cache'] = 'mysql';
    

    然后,在框架入口中会加载缓存相关文件:

    # /framework/bootstrap.inc.php
    
    if (!in_array($_W['config']['setting']['cache'], array('mysql', 'memcache', 'redis'))) {
    	$_W['config']['setting']['cache'] = 'mysql';
    }
    load()->func('cache');
    

    然后,在缓存方法中会加载实际使用的缓存类:

    # /framework/function/cache.func.php
    
    load()->func('cache.' . cache_type());
    
    function cache_type() {
    	$cache_type = strtolower($_W['config']['setting']['cache']);
    
    	// 实例化 Memcache 或 Redis
    	// 连接 cache 对应的服务器
    	// ...
    
    	return $cache_type;
    }
    

    最后,在缓存类中提供了读写缓存的方法:

    # /framework/function/cache.xxx.func.php
    
    function cache_read($key) {}
    function cache_write($key, $data, $expire = 0) {}
    function cache_delete($key) {}
    function cache_clean($prefix = '') {}
    
  • 相关阅读:
    Uva 10935 Throwing cards away I
    Uva 3226 Symmetry
    eclipse @ 注释为何一写就报错
    2015省赛小感想
    Zoj 3842 Beauty of Array
    fedora 设置命令别名
    Uva220 Othello
    工作小技巧积累
    SSL介绍与Java实例
    一个完整的SSL连接建立过程
  • 原文地址:https://www.cnblogs.com/danhuang/p/12599969.html
Copyright © 2011-2022 走看看