amjadiqbal/laravel-redis-advisor
A Laravel package that inspects your Redis configuration and usage, offering advisory checks and recommendations to help you spot misconfigurations, inefficient patterns, and tuning opportunities before they affect production performance.
Architecture fit
cache:clear blast radius, prefix collisions, keys without TTL, big keys), server posture (persistence, memory, fragmentation, reachability) and session TTL drift against SESSION_LIFETIME.redis-advisor:report (text) for engineers, --format=json for tooling, --fail-on for CI gating, and the Blade dashboard at /redis-advisor behind the viewRedisAdvisor gate for day-to-day visibility.Integration feasibility
CONFIG GET, so a naive advisor would be useless there. Sourcing from INFO first and skipping unsupported checks with a stated reason means partial results are trustworthy rather than silently wrong.--fail-on is the highest-leverage adoption point — it turns advisory output into a build-time guardrail with no on-call dependency.Technical risk
SCAN/MEMORY USAGE traversal. On multi-GB keyspaces this is O(N) and can add latency; needs a scheduling and sizing story before production use.INFO, SCAN, MEMORY USAGE or DBSIZE. The advisor's failure mode in that case must be a clean skip, not an exception.APP_ENV is wrong.Key questions
SCAN-based checks bounded (count/cursor limits, sampling) or full keyspace walks? What is expected runtime on a 5–10 GB instance?horizon:list-style introspection, or queue metrics? Does it degrade gracefully if Horizon is absent?--fail-on threshold-based or boolean per check?CONFIG SET)?Stack fit
Migration path
redis-advisor:report in a non-production environment first, then staging, then production in report-only mode.Compatibility
Sequencing
redis-advisor:report --fail-on=... to the pipeline for a small set of high-signal checks only (session TTL mismatch, keys without TTL). Expand incrementally.viewRedisAdvisor gate and document the decision.Maintenance
Support
--fail-on failures should be triaged./redis-advisor route needs an explicit ownership and access-control statement, plus a documented "disable in production" default.Scaling
SCAN cost before scheduling recurring production runs.Failure modes
APP_ENV could expose operational data; disable the route in production by config, not by convention.Ramp-up
How can I help you explore Laravel packages today?