数据库 - Model 前置说明
官方开源项目 抓取代理IP

介绍

SW-X的 缓存 常用操作,依赖\x\Cache组件。
v2.5.8版本起支持。
内置支持的缓存类型包括fileredismemory

设置

缓存配置直接修改/config/目录下面的cache.php文件。
公共的缓存配置参数包含:

参数名 描述
type 缓存类型或者缓存驱动类名
expire 缓存有效期(秒),0表示永久有效
prefix 缓存标识前缀

设置缓存

设置缓存有效期:

$Cache = new \x\Cache();
$Cache->set('name', $value, 3600);

如果设置成功返回true,否则返回false

当然,你也可以不设置有效期,默认使用配置文件中的expire字段。

$Cache = new \x\Cache();
$Cache->set('name', $value);

缓存自增

只对数值类型的缓存数据,可以使用自增操作,例如:

$Cache = new \x\Cache();
// name自增(步进值为1)
$Cache->inc('name');
// name自增(步进值为3)
$Cache->inc('name',3);

成功返回true,否则返回false

缓存自减

只对数值类型的缓存数据,可以使用自减操作,例如:

$Cache = new \x\Cache();
// name自减(步进值为1)
$Cache->dec('name');
// name自减(步进值为3)
$Cache->dec('name',3);

成功返回true,否则返回false

获取缓存

获取缓存数据可以使用:

$Cache = new \x\Cache();
var_dump($Cache->get('name'));

如果name值不存在,则默认返回 false

支持指定默认值,例如:

$Cache = new \x\Cache();
var_dump($Cache->get('name', 'sw-x'));

表示如果name值不存在,则返回字符串sw-x

删除缓存

删除缓存可以使用:

$Cache = new \x\Cache();
var_dump($Cache->rm('name'));

成功返回true,否则返回false

获取并删除缓存

获取并删除缓存可以使用:

$Cache = new \x\Cache();
var_dump($Cache->pull('name'));

成功返回缓存数据,否则返回false

指定使用某个缓存配置

Cache组件默认使用default标识节点下的缓存配置,
也可以在实例化时,传入指定的标识节点名称:

$Cache = new \x\Cache('test');
var_dump($Cache->get('name'));

同时,也支持使用store()方法,修改使用的配置节点,参数是节点名称:

$Cache = new \x\Cache();
// 切换配置节点
$Cache->store('test');
var_dump($Cache->get('name'));

注意事项

  • 1、File类型的缓存驱动,由于考虑性能关系,底层并没有使用文件锁,所以在inc/dec会存在并发争抢的可能。
  • 2、Memory类型的缓存驱动,由于考虑性能关系,底层并没有限制内存占用的最大上限,和缓存数量,所以会存在内存被无限使用的可能。

建议:实际开发中,应根据不同的业务场景,选择合适的缓存驱动。

SW-X

企业级 - 高性能 PHP 框架

最后更新:3年前 . 作者-小黄牛

本篇目录