cache / mongodb-adapter
A PSR-6 cache implementation using MongoDB. This implementation supports tags
3.0.0
2026-08-20 01:59 UTC
Requires
- php: ^8.2
- cache/adapter-common: ^3.0
- mongodb/mongodb: ^2.0
- psr/cache: ^3.0
- psr/simple-cache: ^2.0 || ^3.0
Requires (Dev)
- cache/integration-tests: ^1.0@dev
- phpunit/phpunit: ^11.5
Provides
- psr/cache-implementation: 3.0
- psr/simple-cache-implementation: 2.0 || 3.0
README
This package provides PSR-6 and PSR-16 cache implementations backed by MongoDB. The pool also supports tags.
Installation
Install the package and enable the MongoDB extension:
composer require cache/mongodb-adapter:^3.0
Usage
use Cache\Adapter\MongoDB\MongoDBCachePool; use MongoDB\Driver\Manager; $manager = new Manager('mongodb://127.0.0.1:27017'); $collection = MongoDBCachePool::createCollection($manager, 'application', 'cache'); $pool = new MongoDBCachePool($collection);
createCollection() creates the TTL index used to remove expired entries.
Upgrading to version 3
Version 3 stores a generation snapshot with each tagged item and a separate marker document for each tag. Version 2 workers cannot safely share this format.
Stop or drain all workers, clear the cache collection, and then deploy version 3. Follow the same sequence before a rollback.
Contributing
Send pull requests to the main repository. Report issues on the GitHub issue tracker.