Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Docs: unstable_cache #73365

Closed
nassmim opened this issue Nov 29, 2024 · 4 comments
Closed

Docs: unstable_cache #73365

nassmim opened this issue Nov 29, 2024 · 4 comments
Labels
linear: next Confirmed issue that is tracked by the Next.js team. please add a complete reproduction Please add a complete reproduction. stale The issue has not seen recent activity.

Comments

@nassmim
Copy link

nassmim commented Nov 29, 2024

What is the documentation issue?

I tried this exemple,

import { unstable_cache } from 'next/cache'
 
export default async function Page({ params }: { params: { userId: string } }) {
  const getCachedUser = unstable_cache(
    async () => {
      return { id: params.userId }
    },
    [params.userId], // add the user ID to the cache key
    {
      tags: ['users'],
      revalidate: 60,
    }
  )
 
  //...
}

And the cache is always missed, instead of getting the id from the cache, the async function () => {
return { id: params.userId } is run

Is there any context that might help us understand?

I realized that my implementation of unstable_cache was not good.
I initially thought it was because my implementation did not let unstable_cache infers a unique cache-key or something else. So I just replicated the exact exemple from the documentation, but even there, the value was not returned from the cache.

Does the docs page already exist? Please link to it.

https://nextjs.org/docs/app/api-reference/functions/unstable_cache

@nassmim nassmim added the Documentation Related to Next.js' official documentation. label Nov 29, 2024
@github-actions github-actions bot added the linear: next Confirmed issue that is tracked by the Next.js team. label Dec 23, 2024
@eps1lon eps1lon added the please add a complete reproduction Please add a complete reproduction. label Jan 8, 2025
Copy link
Contributor

github-actions bot commented Jan 8, 2025

We cannot recreate the issue with the provided information. Please add a reproduction in order for us to be able to investigate.

Why was this issue marked with the please add a complete reproduction label?

To be able to investigate, we need access to a reproduction to identify what triggered the issue. We prefer a link to a public GitHub repository (template for App Router, template for Pages Router), but you can also use these templates: CodeSandbox: App Router or CodeSandbox: Pages Router.

To make sure the issue is resolved as quickly as possible, please make sure that the reproduction is as minimal as possible. This means that you should remove unnecessary code, files, and dependencies that do not contribute to the issue. Ensure your reproduction does not depend on secrets, 3rd party registries, private dependencies, or any other data that cannot be made public. Avoid a reproduction including a whole monorepo (unless relevant to the issue). The easier it is to reproduce the issue, the quicker we can help.

Please test your reproduction against the latest version of Next.js (next@canary) to make sure your issue has not already been fixed.

If you cannot create a clean reproduction, another way you can help the maintainers' job is to pinpoint the canary version of next that introduced the issue. Check out our releases, and try to find the first canary release that introduced the issue. This will help us narrow down the scope of the issue, and possibly point to the PR/code change that introduced it. You can install a specific version of next by running npm install next@<version>.

I added a link, why was it still marked?

Ensure the link is pointing to a codebase that is accessible (e.g. not a private repository). "example.com", "n/a", "will add later", etc. are not acceptable links -- we need to see a public codebase. See the above section for accepted links.

What happens if I don't provide a sufficient minimal reproduction?

Issues with the please add a complete reproduction label that receives no meaningful activity (e.g. new comments with a reproduction link) are automatically closed and locked after 2 days.

If your issue has not been resolved in that time and it has been closed/locked, please open a new issue with the required reproduction.

I did not open this issue, but it is relevant to me, what can I do to help?

Anyone experiencing the same issue is welcome to provide a minimal reproduction following the above steps. Furthermore, you can upvote the issue using the 👍 reaction on the topmost comment (please do not comment "I have the same issue" without reproduction steps). Then, we can sort issues by votes to prioritize.

I think my reproduction is good enough, why aren't you looking into it quicker?

We look into every Next.js issue and constantly monitor open issues for new comments.

However, sometimes we might miss one or two due to the popularity/high traffic of the repository. We apologize, and kindly ask you to refrain from tagging core maintainers, as that will usually not result in increased priority.

Upvoting issues to show your interest will help us prioritize and address them as quickly as possible. That said, every issue is important to us, and if an issue gets closed by accident, we encourage you to open a new one linking to the old issue and we will look into it.

Useful Resources

@vercel-release-bot vercel-release-bot added the stale The issue has not seen recent activity. label Jan 10, 2025
@samcx samcx added stale The issue has not seen recent activity. and removed stale The issue has not seen recent activity. labels Jan 10, 2025
@royalknight56
Copy link

royalknight56 commented Jan 11, 2025

same

I use Cloudflare Pages with Next.js.

On the blog page, I retrieve an R2 object using unstable_cache, but it doesn't seem to work.

const getR2List = unstable_cache(
  async () => {
    console.log("getR2List Log");
    const myR2 = getRequestContext().env.MY_BLOG_BUCKET;
    const listResponse = await myR2.list();
    return listResponse.objects;
  },
  ["r2-list"],
  {
    revalidate: 600,
    tags: ["r2-content"],
  },
);

@vercel-release-bot vercel-release-bot removed the stale The issue has not seen recent activity. label Jan 11, 2025
@nextjs-bot nextjs-bot added the stale The issue has not seen recent activity. label Jan 14, 2025
@samcx samcx removed the Documentation Related to Next.js' official documentation. label Jan 16, 2025
@nextjs-bot nextjs-bot removed the stale The issue has not seen recent activity. label Jan 16, 2025
@tuanpq1998
Copy link

tuanpq1998 commented Jan 17, 2025

I am facing the same issue, I tried every implementation I found about unstable_cache but didnt help. I realized that unchecked the setting "Disable-cache" in Network tab of Chrome Dev Tool make it works (read in stackoverflow).
In request headers, there is Cache-Control: max-age=0 when Disable cache is off and Cache-Control: no-cache when it on, there is only one place in docs mention about Cache-Control.
I think it would be more clear and easier for developers implement this function if there is a small note about Chrome Dev Tool right after the unstable_cache part

@nextjs-bot nextjs-bot added stale The issue has not seen recent activity. and removed stale The issue has not seen recent activity. labels Jan 18, 2025
@nextjs-bot
Copy link
Collaborator

This issue has been automatically closed due to 2 days of inactivity and the absence of a complete reproduction. If you believe this was done in error, please leave a comment. If you are experiencing a similar issue, consider opening a new issue with a complete reproduction. Thank you.

@nextjs-bot nextjs-bot closed this as not planned Won't fix, can't repro, duplicate, stale Jan 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
linear: next Confirmed issue that is tracked by the Next.js team. please add a complete reproduction Please add a complete reproduction. stale The issue has not seen recent activity.
Projects
None yet
Development

No branches or pull requests

7 participants