Weave 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

Laravel Permissions Redis Laravel Package

scabarcas/laravel-permissions-redis

A Laravel package that adds a Redis-backed permissions layer for fast authorization. Store and check roles and permissions with less database overhead, ideal for high-throughput apps needing quick access checks and simple integration with Laravel’s authorization ecosystem.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Authorization performance as a product lever. This package replaces per-request database lookups for roles/permissions with Redis reads. It directly supports decisions about whether to invest in latency reduction on auth-heavy endpoints (API gateways, dashboards, per-request policy checks) versus accepting current query overhead.
  • Build vs. buy vs. borrow for RBAC. Gives the team a third option alongside spatie/laravel-permission (mature, DB-backed, huge ecosystem) and a bespoke cache layer. Useful input to a "do we wrap Spatie with a Redis cache, adopt this, or build our own" decision — the package is essentially the "buy a thin, opinionated cache wrapper" path.
  • Roadmap sizing for scale-out work. If profiling shows authorization checks as a top-N query source, this becomes a candidate line item for a performance epic rather than a greenfield feature — cheap to trial, easy to A/B against the incumbent.
  • Use-case fit for read-heavy, write-light permission graphs. Strong fit for products where permissions change rarely (weekly admin edits) but are checked constantly (every request, every job, every blade render). Poor fit for products where permission changes are a first-class, high-frequency user action.
  • Multi-tenant and high-fan-out architectures. Relevant if the platform runs many tenants with largely static role definitions and needs to keep authz off the primary database to protect it from read amplification.
  • Not a fit for a "differentiate the product" decision. This is infrastructure hygiene, not a customer-visible capability. It should compete for engineering-maintenance budget, not feature budget.

When to Consider This Package

Consider it when:

  • Authorization is demonstrably a hot path — query logs or APM show repeated roles/permissions/pivot lookups dominating request time.
  • Redis is already a first-class, operated dependency (caching, queues, sessions), so you are not adding a new piece of infrastructure for this alone.
  • Your permission model is simple and mostly static: role → permission mappings that change on an admin cadence, not per-request.
  • You are willing to treat the dependency as fork-and-own. With 39 stars, zero dependents, and a single-maintainer bus factor, the realistic plan is vendoring or forking with your own tests, not consuming it as a stable upstream.
  • You need a fast spike/POC to quantify the win before committing to a larger refactor.

Look elsewhere when:

  • You need an audit trail, permission history, or compliance evidence — Redis as source of truth is the wrong substrate for that.
  • Your model is relational-heavy: "list all users with role X," permission inheritance graphs, per-resource/per-record permissions, or complex policy composition. You will want SQL for those queries.
  • You need an admin UI, seeding/import tooling, teams, or guard-aware multi-auth support out of the box — spatie/laravel-permission is the safer default here.
  • Cache/DB consistency is a concern you cannot cheaply solve (dual-write, invalidation on deploy, Redis eviction under memory pressure silently dropping permissions).
  • Your team lacks Redis operational maturity, or Redis is a shared, best-effort cache rather than a durable store — an evicted key must never mean "user loses access" or, worse, "user gains access."
  • You require SOC2/ISO-style vendor diligence, SLA-backed support, or a maintained security response process.

Key diligence questions before adopting: What is the failure mode when Redis is unavailable — fail-open (security incident) or fail-closed (outage)? How is cache invalidation triggered on role change, and is it transactional with the DB write? What happens under maxmemory eviction? Is there a documented rebuild/backfill path?

How to Pitch It (Stakeholders)

For executives: We have an opportunity to cut authorization overhead by moving role and permission checks out of the database and into Redis, the in-memory store we already run. This is a narrow, low-cost infrastructure improvement — not a new product capability — and it only pays off if our monitoring confirms authorization queries are actually a bottleneck. The candidate package is MIT-licensed and small, so the real cost is not licensing but engineering ownership: with 39 GitHub stars and no downstream dependents, we would plan to fork and maintain it ourselves rather than rely on upstream. Recommendation is a time-boxed spike to measure the win before any commitment.

For engineering: This is a thin Redis-backed RBAC layer for Laravel that swaps repeated pivot-table lookups for cache reads. It is attractive as a reference implementation and as a fast way to quantify the ceiling on authz latency. Treat it as unproven: single maintainer, near-zero adoption, and the hard problems (invalidation correctness, Redis eviction semantics, fail-open vs. fail-closed behavior) are exactly the ones a 39-star package has not been battle-tested on. Evaluate it against the cheaper alternative first — caching our existing Spatie permission resolution — and only adopt wholesale if the numbers justify taking on maintenance. Either way, we own the fork and the tests.

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.
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox