# 缓存
# 说明
CmlPHP在model层做了缓存集成(实时的,一量有数据变更会自动更新缓存)。一般情况下开发人员无需关注缓存问题。对于高并发的场景如:门户/资讯类的页面,对实时性要求不高,但是并发又很高的情况。如果还是实时更新缓存的话容易出现缓存雪奔的情况。这个时候开发人员可根据实际业务需要单独加缓存。
# 调用方式
//某控制器中
$articleType1 = Model::staticCache->get('article:type:1');
if (!$articleType1) {
$articleType1 = 111;
//设置10分钟缓存
Model::staticCache->set('article:type:1', $articleType1, 600);
}
//某Model中
$articleType1 = $this->cache()->get('article:type:1');
if (!$articleType1) {
$articleType1 = 111;
//设置10分钟缓存
$this->cache()->set('article:type:1', $articleType1, 600);
}
return $articleType1;
# 驱动
可在入口中配置使用的驱动
\Cml::getContainer()->singleton('cache_redis', \Cml\Lock\Redis::class);
//内置\Cml\Cache\File::class|\Cml\Cache\Redis::class|\Cml\Cache\Memcache::class
//|\Cml\Cache\RedisCluster::class|\Cml\Cache\Apc::class五种
'default_cache' => [
...
'driver' => 'Redis',//自动使用cache_redis绑定的驱动
...
],