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
- is `account.get()` safe to be used in th...
I want to user's `id` for authentication. However, a while ago I was told in this server not to use `account.get()` and instead add user preferences for that us...
- Appwrite console is too heavy
The Appwrite console is too heavy And all of my services broken Any support , please
- Usage of the new Client() and dealing wi...
Hey guys, just a quick one - we had some web traffic the other day and it ended up bombing out - To put in perspective of how the app works, we have a Nuxt Ap...