SW-X的 缓存 常用操作,依赖\x\Cache
组件。
从v2.5.8
版本起支持。
内置支持的缓存类型包括file
、redis
和memory
。
缓存配置直接修改/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'));
File
类型的缓存驱动,由于考虑性能关系,底层并没有使用文件锁,所以在inc
/dec
会存在并发争抢的可能。Memory
类型的缓存驱动,由于考虑性能关系,底层并没有限制内存占用的最大上限,和缓存数量,所以会存在内存被无限使用的可能。建议:实际开发中,应根据不同的业务场景,选择合适的缓存驱动。