Hi everyone,I hope you're doing well.
I'm currently working on a project where I'm using Next.js for the frontend and Appwrite for the backend. I've been exploring ways to optimize performance, and I'm particularly interested in leveraging Next.js caching to improve efficiency. Specifically, I'm looking for guidance on how to effectively combine Next.js caching strategies (such as Incremental Static Regeneration or Server-Side Rendering) with data fetched from Appwrite.
I'm aware that Next.js provides built-in caching mechanisms, but I'm unsure about the best practices for integrating them with data fetched from an external source like Appwrite. If anyone has experience or insights into how to achieve this, I would greatly appreciate any advice, code examples, or resources you could share. Additionally, if there are any potential challenges or considerations I should be aware of, I'd love to hear about them. Thank you in advance for your help and support!
**TLDR: How to set up appwrite database caching using nextjs inbuild-caching ** (PS : i'm using the appwrite-node sdk as on my server side of nextjs , not the appwrite client side sdk)
Here is how I've done, it (https://github.com/dishwasher-detergent/appwrite-nextjs-starter/blob/main/lib/db/index.ts). Let me know if this is kinda what you were thinking, also let me know if you think this sucks haha
so in short you just wrap the entire call of databases in unstable_cache?
Most of the call, you wouldn't wrap auth checks, but yes, and in post/put/delete calls you invalidate the cache to prevent stale data
hmm what about other ways of doing it like using "use cache" n stuff?
cause in the docs they mention it would be replaced in future versions by "use cache"
You can try that out but afaik that's only available in canary releases of nextjs
so it's subject to a lot of change without notice.
Appwrite has too built-in mechanisms
But server sided, instead of client
Sure but if you use nextjs cache it caches closer to the user wheres appwrite does not :P
Recommended threads
- Appwrite project paused
I have github student account. The auth has been paused however the database is working fine. I cant see any option to resume from my console panel. It is just ...
- MongoDb Database Breaks integer[] & bigi...
I've got a table with the below column created. When I try to insert the value `[-3408048000]` into it, the dart sdk cloud function call is successful (no error...
- Missing Invoice
Hi! I need help with billing on my account (marelu@gmail.com). I have never received a single invoice by email. My organization has been on the Pro plan since...