foolz/cache

富女孩缓存包。我们想要从临时到永久的一切。

dev-master 2015-01-22 10:18 UTC

This package is auto-updated.

Last update: 2024-09-21 06:06:12 UTC


README

重型缓存包,适用于需要强大缓存能力的严肃网站。

需要PHP 5.4。

概要

你必须向缓存实例提供一个配置对象。

<?php
Cache::instantiate(Config::forgeApc());
Cache::item('test')->set($value);
Cache::item('test')->get();
?>

如果你使用APC,这就是全部内容。

存储

当前捆绑的存储

  • APC
  • Memcached
  • 数据库(Doctrine DBAL)(永久存储,非常适合配置)
  • 模拟(总是返回未找到)
  • 文件
  • 易失性(使用PHP数组,并在进程结束时清除)

格式

我们添加了一些可能看起来无用的格式。我们需要这些格式与外部软件兼容。

当前捆绑的格式

  • ArrayJson(存储作为数组包装的json)
  • ObjectJson(存储作为对象包装的json)
  • SmartJson(使用对象存储json类型)
  • Plain
  • 序列化

配置

你可以通过两种方式创建新的配置

<?php
$config = Config::forgeMemcached();
// or
$config = new \Foolz\Cache\Config\Memcached;
?>

IDE提示将出现,帮助你配置存储。您还可以查看文件夹 classes/Foolz/Cache/Config 中可用的配置。

基本配置方法

  • $config->getStorage()

    返回存储的名称

  • $config->setFormat($format)

    设置以下格式之一: array_jsonobject_jsonsmart_jsonplainserialized

  • __$config->getFormat()

    返回格式的名称

  • $config->setPrefix($prefix)

    为存储项设置前缀

  • $config->getPrefix()

    获取存储项的前缀

  • $config->setThrow($bool = false)

    如果您希望失败的缓存GET抛出异常,请传递true。如果您更喜欢回退值,请传递false。默认为false。

  • $config->getThrow()

    如果GET将抛出异常,则为true,否则为false。

实例化

Cache包具有实例系统。

  • Cache::instantiate(\Foolz\Cache\Config $config, $instance_name = 'default')

    为缓存后端创建新的链接。

  • Cache::destroy($instance_name)

    销毁缓存后端的链接。

  • $item = Cache::forge($instance_name = 'default')

    返回链接的实例。

  • $item = Cache::item($key, $instance_name = 'default)

    创建与键配对的实例。

  • $item->getConfig()

    返回配置对象。

  • $item->getEngine()

    返回原始存储引擎类。

  • $item->getKey()

    返回项的键。

  • $item->set($value, $expiration = 0)

    设置值。过期时间是现在的时间。

  • $item->get()

    返回存储的值。如果没有找到值,则返回\Foolz\Cache\Void。如果启用了Throws设置且未找到值,则抛出\OutOfBoundsException。

  • $item->delete()

    删除存储的值。

  • $item->flush()

    删除引擎中的所有条目。