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

Json Key Value Store Laravel Package

jord-jd/json-key-value-store

A lightweight JSON-backed key-value store for PHP and Laravel applications. Save and retrieve settings, config values, or small datasets in flat files through a simple API—no database required. Ideal for prototypes, local tools, and lightweight persistence.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

No prior assessment exists; this is the initial baseline, incorporating v4.0.1.

The package is a file-backed key-value/store component for Laravel/PHP applications. Architecturally it fits Laravel applications that need a lightweight local persistence layer for small datasets, configuration snapshots, test fixtures, or simple cache-like storage without introducing an external service. It is a poor fit for distributed, multi-node, or high-write workloads unless the filesystem and locking model are explicitly validated.

v4.0.1 is a patch release with three meaningful change categories:

  • Correctness fix: delete() operations now persist across store reopen, preventing deleted keys from reappearing. This is a real data-integrity fix and should be treated as a reason to upgrade if the package is already in use.
  • Operational observability: explicit exceptions for file-open, missing-directory, JSON encoding, compression, and lock failures improve diagnosability. However, new exception types can affect callers that catch generic Exception or rely on prior failure behavior.
  • CI modernization: Travis/Coveralls replaced by GitHub Actions, with PHP 7.1 through PHP 8.5 test coverage. This is a positive maintenance signal, but PHP 7.1 support is a security and platform-lifecycle concern for new adoption.

Technical risks are mostly environmental: local filesystem assumptions, directory permissions, lock behavior on NFS/container ephemeral storage, and binary/non-UTF-8 payload handling through JSON encoding. The delete-persistence fix suggests the storage format or write path may have had edge cases; regression tests around reopen/delete semantics are essential.

Key questions:

  • Does the delete-persistence fix change the on-disk format, or is it backward compatible with existing store files?
  • Are the new exception classes part of the public API, and do they break existing catch blocks?
  • What locking mechanism is used, and is it reliable on network filesystems and containerized ephemeral disks?
  • Is compression optional/configured, and what is the behavior on incompressible or binary data?
  • Which Laravel versions are supported, and is PHP 7.1 support intentional or only CI compatibility?
  • What are the expected data-size and concurrency limits before the file-backed approach degrades?

Integration Approach

Stack fit is strongest for single-node Laravel apps already using local disk storage: small internal tools, scheduled jobs, CLI utilities, and test environments. It is a weaker fit for horizontally scaled services, multi-tenant platforms with large stores, or systems requiring strong consistency across nodes.

Migration path from prior 4.x versions is low-friction: this is a patch release, not a major-version breaking change. Teams should upgrade in a controlled patch cycle, then validate delete/reopen behavior and exception handling. No database migration is implied, but existing store files should be backed up or snapshotted before deployment if they contain critical state.

Compatibility is broad on paper: PHP 7.1 through 8.5 tested, with no runtime minimum increase. For new adoption, target a currently supported PHP version; treat PHP 7.1 as legacy compatibility rather than a strategic baseline. Laravel version compatibility must be confirmed independently.

Sequencing:

  1. Add to a development branch and run the package’s own test suite plus application tests that exercise delete/reopen and failure paths.
  2. Verify writable directory configuration and lock behavior in the target runtime (local disk, container volume, CI runner).
  3. Exercise the new exception paths deliberately: unwritable directory, corrupt JSON payload, compression failure, and lock contention.
  4. Deploy to staging with production-like storage, then canary or roll out in a normal patch window.
  5. Monitor for new exception types in logs and confirm that delete operations remain durable after process restart.

Operational Impact

Maintenance posture improves with GitHub Actions replacing retired Travis/Coveralls, which reduces CI drift and signals active stewardship. The explicit exception work also improves operability by making failures actionable rather than opaque.

Support burden is moderate. Application developers can adopt it quickly, but SRE/platform teams must understand filesystem permissions, disk capacity, backup/restore of store files, and lock behavior under concurrency. PHP 7.1 support is a support-matrix concern: it broadens compatibility but may encourage running EOL runtimes.

Scaling is the main constraint. A file-backed store is typically bounded by local disk I/O, file locking, and single-node semantics. It should not be positioned as a replacement for Redis, a database, or a distributed cache without a clear capacity and concurrency model. If the application scales horizontally, each node may have an isolated store, creating consistency and data-locality issues.

Failure modes to plan for:

  • Missing or unwritable directories causing store initialization failures.
  • Lock acquisition failures under concurrent access, especially on network filesystems.
  • JSON encoding failures for non-UTF-8, binary, or oversized payloads.
  • Compression failures on unusual data.
  • Silent or partial delete behavior if the v4.0.1 fix is not applied.
  • Container restarts losing ephemeral store data unless the volume is persisted.

Ramp-up is low for Laravel developers: Composer install, configuration, and standard filesystem permissions. The TPM recommendation is to adopt v4.0.1 as a patch upgrade or initial baseline for appropriate single-node use cases, with explicit validation of delete durability, exception handling, and filesystem locking before production rollout.

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.
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator
equipc/laravel-email-database-log
adedsec/nova-translated-labels
wazza/laravel-db-encryption
hokny/laravel-generator
vonsogt/backup
jengo/queues
jeremykenedy/laravel-observability
coleus/frame
thtg88/journalism
filagora/filagora-ai-forums