Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Adapter Common Laravel Package

cache/adapter-common

Shared classes and interfaces for the PHP Cache organization’s PSR-6 cache pools. Provides common building blocks used across adapters, with support for features like tagging and cache hierarchies via the shared php-cache documentation.

View on GitHub
Deep Wiki
Context7

Common cache adapter components

Latest Stable Version Coverage Software License

This package provides the shared PSR-6 and PSR-16 implementation used by PHP Cache adapters. It also provides reusable tag support.

Application code should install a concrete adapter instead. Adapter authors can install these components directly.

Installation

composer require cache/adapter-common:^3.0

Version 3 requires PHP 8.2 and psr/cache 3. Its PSR-16 API supports psr/simple-cache 2 and 3.

Upgrading to version 3

Version 3 adds appendListItemWithExpiration() as a protected extension point. Its default implementation calls appendListItem() without changing existing tag storage.

Custom subclasses that already declare this method must use the version 3 signature and protected visibility.

Version 3 also stores a generation snapshot with each tagged item. The default implementation stores tag indexes and generations under tag! and tagv! keys that contain a SHA-256 digest of the tag. These metadata keys stay within the portable 64-character PSR-6 key alphabet. Adapter payloads must preserve the [tag, generation] pairs returned by PhpCacheItem::getTagVersions().

Optimized read paths that bypass getItem() must call tagVersionsAreCurrent() before returning a stored value. Adapters can override readTagVersion(), writeTagVersion(), and deleteTagVersion() when the backend stores generation markers natively.

Public cache keys that start with tag! or tagv! are reserved for tag metadata. Applications must rename any keys that use either prefix.

Version 2 workers cannot safely read or update version 3 tag metadata. Stop or drain all workers, clear the cache, and then deploy version 3. Follow the same sequence before a rollback.

Documentation

Read the PHP Cache documentation to learn about adapters, tags, and hierarchical keys.

Contributing

Send pull requests to the main repository. Report issues on the GitHub issue tracker.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
calmfox/watch-sylius
damienfern/grpc-symfony-bundle
atoolo/index-bundle
atoolo/genai-bundle
coprotoai/laravel-ticket
davidjln/llm-carbon-bundle
cryonighter/valid-request-bundle
coolms/taxonomy-bundle
coolms/field-bundle
articulate-orm/symfony
aaix/laravel-tall-architect
ephoto/akeneo-connector
emmanuelballery/eb-plantumlbundle
emielburgman/symfony-visitor-beacon
emielburgman/symfony-visit-storage
emielburgman/symfony-security-headers
emielburgman/symfony-log-viewer
emarref/xdebug-bundle
emarref/pubnub-bundle
elriseio/finance-money-bundle