bear/query-repository

AboutResource Query Responsibility Segregation (RQRS) is a caching framework for BEAR.Sunday that optimizes performance by separating query and command responsibilities. It features event-driven cache invalidation, dependency resolution, donut caching, CDN integration, and conditional requests.

1.12.0 2025-01-11 10:06 UTC

README

Scrutinizer Code Quality codecov Type Coverage Coding Standards Static Analysis Continuous Integration

BEAR.QueryRepository is a distributed caching framework for BEAR.Resource applications, inspired by CQRS. It segregates reads and writes into separate repositories to optimize performance and resource utilization.

Key Features

  • Event-Driven Cache Invalidation: Automatically invalidates cache when data changes, ensuring consistency.
  • Dependency Resolution: Resolves dependencies between resources and updates related caches automatically.
  • Donut Caching: Combines dynamic and static content for efficient partial caching.
  • CDN Integration: Seamlessly integrates with modern CDNs (e.g., Fastly, Akamai) for shared cache management.
  • Conditional Requests with ETag Support: Reduces network overhead by leveraging ETag and 304 Not Modified responses.
  • Distributed Cache Support: Works with server-side caches (e.g., Redis, APC), shared caches (e.g., CDNs), and client-side caches.

Documentation

For more details, check out the BEAR.Sunday cache manual.