
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
- Error while login the member which is in...
Facing some error. Error logging in: Exception: No team access. Please contact your administrator. But the email/name/ new client I have created is in my tea...
- Document already existed
Hi, I am trying to add a document via cloud function using nodejs22. Everytime I do `await db.createDocument( dbid, collectionid, customDocId, data);` it will g...
- easiest way to ban an IP from appwrite
for example, lets say that i have an app where people can post cars, and someone is constantly spamming my app with trucks, is there a way to ban that user IP s...
