A native GraphQL caching client and server module for Deno, featuring flexible caching strategies and full-stack integration.
Obsidian is a native GraphQL caching client and server module built specifically for Deno. It solves performance bottlenecks in GraphQL applications by providing flexible caching strategies, including client-side and server-side caching with Redis. The module supports fullstack integration and is designed to enhance the scalability and speed of Deno-based applications.
Developers building GraphQL APIs and applications with Deno who need efficient caching solutions to improve performance and scalability. It is particularly useful for teams working on server-side rendered React apps within the Deno ecosystem.
Developers choose Obsidian because it is Deno's first native GraphQL caching solution, offering integrated client and server caching with configurable policies. Its support for advanced caching algorithms like W-TinyLFU and persistent queries provides significant performance advantages over basic caching implementations.
GraphQL, built for Deno - a native GraphQL caching client and server module
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Implements W-TinyLFU algorithm for high hit-ratios with minimal memory overhead, as highlighted in the features for optimal performance.
Uses Redis for robust server-side caching with configurable policies and memory limits, per the router options, enhancing scalability.
Reduces network payload by sending hashes instead of full queries, improving performance for frequent queries, as noted in the features.
Seamlessly works with Deno and SSR React apps via ObsidianWrapper, providing a unified caching strategy across client and server.
Includes a rebuilt tool for testing and analytics related to caching options, aiding in optimization and debugging.
The README lists 'More comprehensive mutation support' as in progress, indicating current implementations may be limited or require workarounds.
Mandates a running Redis instance with configuration via .env files and port settings, adding operational overhead and deployment complexity.
Built solely for Deno, so it cannot be used in Node.js or other environments, restricting flexibility and ecosystem compatibility.
Numerous options for cache policies, search terms, and persistence require deep tuning, which can be overwhelming for quick setups.