承接 jardisadapter/cache 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

jardisadapter/cache

最新稳定版本:v1.0.0

Composer 安装命令:

composer require jardisadapter/cache

包简介

PSR-16 multi-layer caching engine with write-through propagation across Redis, APCu, Database, and Memory

README 文档

README

Build Status License: MIT PHP Version PHPStan Level PSR-12 PSR-16 Coverage

Part of the Jardis Business Platform — Enterprise-grade PHP components for Domain-Driven Design

PSR-16 multi-layer caching engine. Chain Memory, APCu, Redis, and Database backends in a single Cache instance. On a cache miss in a fast layer, the value is automatically backfilled from the next slower layer — so subsequent reads hit the fastest backend available. Writes propagate to all configured layers simultaneously.

Features

  • Multi-Layer Chain — Stack any number of backends; reads backfill upper layers automatically
  • 5 BackendsCacheMemory, CacheApcu, CacheRedis, CacheDatabase, CacheNull
  • PSR-16 — Full Psr\SimpleCache\CacheInterface implementation on every layer
  • Namespace Isolation — Each layer instance carries its own namespace prefix
  • Immutable After Construction — All layers set via constructor; no mutation at runtime
  • Null Object Pattern — Empty Cache([]) degrades gracefully to a no-op CacheNull
  • TTL Support — Integer seconds or DateInterval on every set() / setMultiple()
  • Zero Dependencies — No third-party packages required beyond PSR interfaces

Installation

composer require jardisadapter/cache

Quick Start

use JardisAdapter\Cache\Cache;
use JardisAdapter\Cache\Adapter\CacheMemory;
use JardisAdapter\Cache\Adapter\CacheRedis;

$redis = new Redis();
$redis->connect('127.0.0.1', 6379);

// Two-layer cache: L1 = in-process memory, L2 = Redis
$cache = new Cache([
    new CacheMemory('myapp'),
    new CacheRedis($redis, 'myapp'),
]);

$cache->set('user:42', $userData, ttl: 300);
$user = $cache->get('user:42');

Advanced Usage

use JardisAdapter\Cache\Cache;
use JardisAdapter\Cache\Adapter\CacheMemory;
use JardisAdapter\Cache\Adapter\CacheApcu;
use JardisAdapter\Cache\Adapter\CacheRedis;
use JardisAdapter\Cache\Adapter\CacheDatabase;

// Four-layer cascade: L1 memory → L2 APCu → L3 Redis → L4 database
// A miss at L1 checks L2, then L3, then L4.
// When found, the value is written back into all faster layers automatically.
$cache = new Cache([
    new CacheMemory('orders'),
    new CacheApcu('orders'),
    new CacheRedis($redis, 'orders'),
    new CacheDatabase($pdo, namespace: 'orders'),
]);

// Bulk operations — all layers updated in one call
$cache->setMultiple([
    'order:101' => $order101,
    'order:102' => $order102,
], ttl: 600);

$orders = $cache->getMultiple(['order:101', 'order:102']);

// Invalidate a key across all layers
$cache->delete('order:101');

// Expire stale database entries explicitly
$dbLayer = new CacheDatabase($pdo, namespace: 'orders');
$dbLayer->cleanExpired();

Documentation

Full documentation, guides, and API reference:

docs.jardis.io/en/adapter/cache

License

This package is licensed under the MIT License.

Jardis · Documentation · Headgent

KI-gestützte Entwicklung

Dieses Package liefert einen Skill für Claude Code, Cursor, Continue und Aider mit. Installation im Konsumentenprojekt:

composer require --dev jardis/dev-skills

Mehr Details: https://docs.jardis.io/skills

统计信息

  • 总下载量: 137
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 5
  • 依赖项目数: 1
  • 推荐数: 1

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-03-10

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固