superbalist/laravel4-psr6-cache-bridge

此包已被废弃且不再维护。未建议替代包。

Laravel 4 的 PSR6 缓存实现

1.0.1 2017-07-04 07:00 UTC

This package is auto-updated.

Last update: 2024-08-11 23:46:50 UTC


README

Laravel 4 的 PSR6 缓存实现。

Author Build Status StyleCI Software License Packagist Version Total Downloads

此库基于 madewithlove/illuminate-psr-cache-bridge 的 Laravel 5 实现。

安装

composer require superbalist/laravel4-psr6-cache-bridge

在 app.php 中注册服务提供者

'providers' => [
    // ...
    'Superbalist\Laravel4PSR6CacheBridge\ServiceProvider'
]

用法

现在您可以使用或注入 CacheItemPoolInterface 实现,该实现适用于期望 PSR6 缓存实现的库。

use DateTimeImmutable;
use Psr\Cache\CacheItemPoolInterface;
use Superbalist\Laravel4PSR6CacheBridge\LaravelCacheItem::class;
use Superbalist\Laravel4PSR6CacheBridge\LaravelCacheItemPool::class;

$pool = app(CacheItemPoolInterface::class);
// or
$pool = app(LaravelCacheItemPool::class);

// save an item with an absolute ttl
$item = new LaravelCacheItem('first_name', 'Bob', true);
$item->expiresAt(new DateTimeImmutable('2017-06-30 14:30:00'));
$pool->save($item);

// save an item with a relative ttl
$item = new LaravelCacheItem('first_name', 'Bob', true);
$item->expiresAfter(60);
$pool->save($item);

// save an item permanently
$item = new LaravelCacheItem('first_name', 'Bob', true);
$pool->save($item);

// retrieve an item
$item = $pool->get('first_name');

// working with an item
var_dump($item->getKey());
var_dump($item->get());
var_dump($item->isHit());

// retrieve one or many items
$items = $pool->getItems(['first_name']);
var_dump($items['first_name']);

// check if an item exists in cache
var_dump($pool->hasItem('first_name'));

// wipe out all items
$pool->clear();

// delete an item
$pool->deleteItem('first_name');

// delete one or many items
$pool->deleteItems(['first_name']);

// save a deferred item
$item = new LaravelCacheItem('first_name', 'Bob', true);
$item->expiresAt(new DateTimeImmutable('+1 hour'));
$pool->saveDeferred($item);

// commit all deferred items
$pool->commit();