https://github.com/oslabs-beta/cacheiql
CacheIQL is an efficient JavaScript library designed to optimize GraphQL performance through intelligent caching, effectively minimizing redundant API requests resulting in heavily reduced response time. With our easy-to-use implementation, CacheIQL provides the developer with enhanced application speed and efficiency through a seamless experience.
https://github.com/oslabs-beta/cacheiql
caching client-side graphql localstorage middleware redis request-deduplication server-side
Last synced: about 1 year ago
JSON representation
CacheIQL is an efficient JavaScript library designed to optimize GraphQL performance through intelligent caching, effectively minimizing redundant API requests resulting in heavily reduced response time. With our easy-to-use implementation, CacheIQL provides the developer with enhanced application speed and efficiency through a seamless experience.
- Host: GitHub
- URL: https://github.com/oslabs-beta/cacheiql
- Owner: oslabs-beta
- Created: 2024-11-20T03:22:32.000Z (over 1 year ago)
- Default Branch: production
- Last Pushed: 2025-02-28T02:14:22.000Z (over 1 year ago)
- Last Synced: 2025-04-30T19:06:58.745Z (about 1 year ago)
- Topics: caching, client-side, graphql, localstorage, middleware, redis, request-deduplication, server-side
- Language: TypeScript
- Homepage:
- Size: 1.02 MB
- Stars: 20
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README

# CacheIQL
cacheiql is an efficient JavaScript library designed to optimize GraphQL performance through intelligent caching,
effectively minimizing redundant API requests resulting in heavily reduced response time.
With our easy-to-use implementation,
CacheIQL provides the developer with enhanced application speed and efficiency through a seamless experience.
## Installation
**CacheIQL Client & CacheIQL Server**
CacheIQL is split into two npm packages:
-Install [cacheiql/client](https://www.npmjs.com/package/cacheiql-client) from npm using the terminal command `npm i cacheiql-client`
-Install [cacheiql/server](https://www.npmjs.com/package/cacheiql-server) from npm using the terminal command `npm i cacheiql-server`
## Features
* server-side caching through implementation of a local Redis instance
* client-side caching through implementation of localStorage
* effective mutation handling through cache invalidation
* custom fetch and caching 'CacheIt' function
* implementation of request deduplication through the use of caching initial user query response objects
* code maintainability through integration of TypeScript with strict typing, effectively reducing runtime errors
* iteration upon GraphQL's field-level fetching as well as query batching to optimize speed upon initial query retrieval
## Documentation
[CLIENT README](https://github.com/oslabs-beta/CacheIQL/blob/production/cacheiql-client/README.md)
[SERVER README](https://github.com/oslabs-beta/CacheIQL/blob/production/cacheiql-server/README.md)
Thank you for your interest in our tool!
-CacheIQL Team
## Contributors
Through the help of [OS Labs](https://github.com/oslabs-beta) , developed by [Vasean Annin](https://github.com/VaseanAnnin), [Gabriella Davoudpour
](https://github.com/gabyd613), [George German](https://github.com/GeorgeGerman29), [Pedram Kashani ](https://github.com/PedramKashani), and [Chris Matzen](https://github.com/matzec42)