对于于超高并发,可以考虑使用redis内存缓存,Redis是高性能内存缓存器,性能远远高于File,需要服务器支持,并开启PHP的Redis扩展。如果服务器不支持,请使用File方式。
//Redis方式
$cache = new \startmvc\lib\Cache('redis'); // 实例化缓存器
/*
也可以带上redis服务器IP和端口,IP默认为127.0.0.1,端口默认为6379
$cache = new \startmvc\lib\Cache('redis', '127.0.0.1');
$cache = new \startmvc\lib\Cache('redis', '127.0.0.1', 6379);
*/
$cache->prefix = 'sm_'; // 缓存Key键名前缀,避免同服务器其它站点的Redis服务污染,File方式不需要。
if(!$data = $cache->get('a')){ // 从缓存a中获取缓存数据,如果不存在或过期则返回false
$data = foo($bar); // foo($bar)数据来源,数据库或其它地方
$cache->set('a', $data, 3600); // 将数据存入缓存a,第三个参数是有效期时间,单位秒,默认是3600
}
var_dump($data);
$cache->set('b', $data2);
$cache->del('b'); // 删除缓存b
$cache->clear(); // 删除所有缓存<br>