PHPackages                             defectivecode/laravel-recall - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Caching](/categories/caching)
4. /
5. defectivecode/laravel-recall

ActiveLibrary[Caching](/categories/caching)

defectivecode/laravel-recall
============================

High-performance Redis client-side caching for Laravel using APCu or Swoole Table with automatic cache invalidation

1.0.3(1mo ago)11.1k↑69.2%MITPHPPHP &gt;=8.4CI passing

Since Jan 18Pushed 1mo agoCompare

[ Source](https://github.com/DefectiveCode/laravel-recall)[ Packagist](https://packagist.org/packages/defectivecode/laravel-recall)[ RSS](/packages/defectivecode-laravel-recall/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (4)Dependencies (18)Versions (8)Used By (0)

   ![Defective Code Logo](https://camo.githubusercontent.com/b908aa3ebd794a21c8deddfa90d3533345e96cbc561822799450ebd26aa0be71/68747470733a2f2f646566656374697665636f64652e636f6d2f6c6f676f732f6c6f676f2d616e696d617465642d6c696768742e706e67)

[English](https://www.defectivecode.com/packages/laravel-recall/en) | [العربية](https://www.defectivecode.com/packages/laravel-recall/ar) | [বাংলা](https://www.defectivecode.com/packages/laravel-recall/bn) | [Bosanski](https://www.defectivecode.com/packages/laravel-recall/bs) | [Deutsch](https://www.defectivecode.com/packages/laravel-recall/de) | [Español](https://www.defectivecode.com/packages/laravel-recall/es) | [Français](https://www.defectivecode.com/packages/laravel-recall/fr) | [हिन्दी](https://www.defectivecode.com/packages/laravel-recall/hi) | [Italiano](https://www.defectivecode.com/packages/laravel-recall/it) | [日本語](https://www.defectivecode.com/packages/laravel-recall/ja) | [한국어](https://www.defectivecode.com/packages/laravel-recall/ko) | [मराठी](https://www.defectivecode.com/packages/laravel-recall/mr) | [Português](https://www.defectivecode.com/packages/laravel-recall/pt) | [Русский](https://www.defectivecode.com/packages/laravel-recall/ru) | [Kiswahili](https://www.defectivecode.com/packages/laravel-recall/sw) | [தமிழ்](https://www.defectivecode.com/packages/laravel-recall/ta) | [తెలుగు](https://www.defectivecode.com/packages/laravel-recall/te) | [Türkçe](https://www.defectivecode.com/packages/laravel-recall/tr) | [اردو](https://www.defectivecode.com/packages/laravel-recall/ur) | [Tiếng Việt](https://www.defectivecode.com/packages/laravel-recall/vi) | [中文](https://www.defectivecode.com/packages/laravel-recall/zh)

Introduction
============

[](#introduction)

**Recall** is a high-performance Redis client-side caching package for Laravel. It leverages Redis 6's [client-side caching](https://redis.io/docs/latest/develop/reference/client-side-caching/) feature with automatic invalidation to dramatically reduce Redis round trips and latency. Built specifically for Laravel Octane environments, it uses APCu or Swoole Table as a local cache layer that stays synchronized with Redis through invalidation messages.

When you fetch a value from Redis, Recall stores it locally. When that value changes in Redis (from any client), Redis automatically notifies Recall to invalidate the local copy. This gives you the speed of in-memory caching with the consistency guarantees of Redis.

Key Features
------------

[](#key-features)

- **Automatic Invalidation**: Redis notifies your application when cached keys change, ensuring cache coherence
- **Zero Configuration**: Works out of the box with sensible defaults
- **Octane Integration**: Automatic connection warming, request-based invalidation processing, and graceful shutdown
- **Dual Driver Support**: APCu for all Octane servers, Swoole Table for Swoole/OpenSwoole environments
- **Selective Caching**: Configure which key prefixes to cache locally
- **Race Condition Protection**: Pending request tracking prevents caching stale data during concurrent invalidations

Example
-------

[](#example)

```
// Configure recall as your cache driver
// config/cache.php
'stores' => [
    'recall' => [
        'driver' => 'recall',
    ],
],

// Use it like any Laravel cache
use Illuminate\Support\Facades\Cache;

// First call: fetches from Redis, stores locally
$user = Cache::store('recall')->get('user:1');

// Subsequent calls: served from local APCu/Swoole Table (microseconds)
$user = Cache::store('recall')->get('user:1');

// When user:1 is updated anywhere, Redis notifies Recall to invalidate
Cache::store('recall')->put('user:1', $newUserData, 3600);
// Local cache is automatically invalidated on all workers
```

Documentation
=============

[](#documentation)

You may read the [documentation on our website](https://www.defectivecode.com/packages/laravel-recall/en).

Support Guidelines
==================

[](#support-guidelines)

Thanks for choosing our open source package! Please take a moment to check out these support guidelines. They'll help you get the most out of our project.

Community Driven Support
------------------------

[](#community-driven-support)

Our open-source project is fueled by our awesome community. If you have questions or need assistance, StackOverflow and other online resources are your best bets.

Bugs, and Feature Prioritization
--------------------------------

[](#bugs-and-feature-prioritization)

The reality of managing an open-source project means we can't address every reported bug or feature request immediately. We prioritize issues in the following order:

### 1. Bugs Affecting Our Paid Products

[](#1-bugs-affecting-our-paid-products)

Bugs that impact our paid products will always be our top priority. In some cases, we may only address bugs that affect us directly.

### 2. Community Pull Requests

[](#2-community-pull-requests)

If you've identified a bug and have a solution, please submit a pull request. After issues affecting our products, we give the next highest priority to these community-driven fixes. Once reviewed and approved, we'll merge your solution and credit your contribution.

### 3. Financial Support

[](#3-financial-support)

For issues outside the mentioned categories, you can opt to fund their resolution. Each open issue is linked to an order form where you can contribute financially. We prioritize these issues based on the funding amount provided.

### Community Contributions

[](#community-contributions)

Open source thrives when its community is active. Even if you're not fixing bugs, consider contributing through code improvements, documentation updates, tutorials, or by assisting others in community channels. We highly encourage everyone, as a community, to help support open-source work.

*To reiterate, DefectiveCode will prioritize bugs based on how they impact our paid products, community pull requests, and the financial support received for issues.*

License
=======

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

47

—

FairBetter than 94% of packages

Maintenance89

Actively maintained with recent releases

Popularity22

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity56

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 77.8% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~21 days

Total

4

Last Release

56d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/78e4224b766aee15b2ed1281e7ccca475fb48908887435c3504ffb2b9991c993?d=identicon)[SimplyCorey](/maintainers/SimplyCorey)

---

Top Contributors

[![SimplyCorey](https://avatars.githubusercontent.com/u/624784?v=4)](https://github.com/SimplyCorey "SimplyCorey (7 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (2 commits)")

###  Code Quality

TestsPHPUnit

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/defectivecode-laravel-recall/health.svg)

```
[![Health](https://phpackages.com/badges/defectivecode-laravel-recall/health.svg)](https://phpackages.com/packages/defectivecode-laravel-recall)
```

###  Alternatives

[spatie/laravel-responsecache

Speed up a Laravel application by caching the entire response

2.8k8.2M51](/packages/spatie-laravel-responsecache)[genealabs/laravel-model-caching

Automatic caching for Eloquent models.

2.4k4.8M26](/packages/genealabs-laravel-model-caching)[mikebronner/laravel-model-caching

Automatic caching for Eloquent models.

2.4k127.1k1](/packages/mikebronner-laravel-model-caching)[illuminate/cache

The Illuminate Cache package.

12835.6M1.4k](/packages/illuminate-cache)[laragear/cache-query

Remember your query results using only one method. Yes, only one.

272122.8k](/packages/laragear-cache-query)[iazaran/smart-cache

Smart Cache is a caching optimization package designed to enhance the way your Laravel application handles data caching. It intelligently manages large data sets by compressing, chunking, or applying other optimization strategies to keep your application performant and efficient.

2057.2k](/packages/iazaran-smart-cache)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
