{"repo":"arqo123/speedgoose","free":true,"listed":false,"github":"https://github.com/arqo123/speedgoose","clone":"git clone https://github.com/arqo123/speedgoose.git","description":"Next-level mongoose caching layer with event based cache clearing","language":"TypeScript","stars":69,"topics":["cache","mongodb","mongoose","nodejs","nosql","redis","cachegoose"],"license":"MIT","category":"databases-storage","readme_excerpt":"About The Project This project is a next-level mongoose caching library that is fully written in typescript. It's caching on two levels. Shared - with Redis. And local inside memory. Supports all mongoose operations like find,findOne, count, aggregate... and others. Also supports lean queries. Why it is different? - It supports caching not only JSON objects in Redis but also the whole Mongoose. Document instances in local memory to speed up code, and prevent unnecessary hydrations. Also supports full in-memory caching, without Redis. - It has an auto-clearing ability based on mongoose events. So if the query was cached for some records, and in the meantime, those records change, all cached-related results will be cleared. - It supports deep hydration, for caching not only the root document instances but also those that are populated. - Supports custom eventing. For example, if you want to remove given results from cache, but removal logic is not based on removing documents from DB but rather field based (like deleted: true), then you can apply a wasRecordDeleted callback as an option for the plugin. - Supports multitenancy by clearing cached results only for a related tenant. - It has a cachePopulate method that solves the N+1 problem with Mongoose population. ( back to top ) Compatibility Speedgoose Mongoose Node.js ------------ ---------- --------- 2.x (latest) 9.x = 20.19 2.x 8.x = 16 1.x 7.x = 14 Performance Speedgoose delivers massive speedups on cached reads. Benchmarks","default_branch":null,"files":null,"tree":[],"storefront":"/r/arqo123","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/arqo123/speedgoose/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}