欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

微擎框架的缓存机制实现源码解读

程序员文章站 2022-06-27 20:32:26
首先,在配置文件中有如下配置: 然后,在框架入口中会加载缓存相关文件: 然后,在缓存方法中会加载实际使用的缓存类: 最后,在缓存类中提供了读写缓存的方法: ......

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

# /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 = '') {}