拓扑森林
首页OPC课程政企培训专属智能体项目投融资行业资讯站内论坛关于我们
登录
跳到主内容
    论坛/求助问答

    Prisma 乐观锁并发更新冲突

    雾里看花·2025/01/14 09:11:02·0 浏览
    站内论坛
    教程论坛排行榜徽章
    雾里
    雾里看花楼主
    2025/01/14 09:11:02
    revalidatePath 不生效,检查:① 路径是否正确(含 locale 前缀) ② 是否在 Server Action 中调用(不能在普通函数中调用) ③ ISR 的 revalidate 时间是否太长 ④ 是否需要 revalidateTag 清除缓存。
    
    Vercel Hobby 计划函数超时 10s,Pro 计划 60s,Enterprise 900s。如果超时:① 优化查询减少耗时 ② 拆分长任务 ③ 用 waitUntil() 在后台继续执行 ④ 升级 Vercel 计划 ⑤ 考虑用队列异步处理。
    
    Prisma Json 字段查询,用 prismaToJson 过滤或 $queryRaw 用 PostgreSQL 的 ->> 操作符。Prisma 6 支持直接在 where 中用 path 过滤 Json 字段。
    查看历史

    19 回复

    1. 内卷
      内卷幸存者第 2 楼2025/01/14 23:35:02
      说说我自己的经历:Tailwind v4 升级后 @tailwind 指令改为 @import 'tailwindcss'。效果因项目而异,建议实际测试。
    2. 并发
      并发摆渡人第 3 楼2025/01/17 09:34:41
      我的踩坑经验:cookies().set() + redirect() 在 Server Component 不兼容,改用 Server Action。
    3. 结网
      结网的蜘蛛第 4 楼2025/01/29 07:17:33
      middleware 里 pathname 含 locale 前缀,用 includes() 不要用精确匹配。
    4. 吃瓜
      吃瓜群众第 5 楼2025/02/06 22:17:07
      说说我自己的经历:cookies().set() + redirect() 在 Server Component 不兼容,改用 Server Action。期待更多实战经验分享。
    5. 栈溢
      栈溢出幸存者第 6 楼2025/02/09 08:32:56
      hydration mismatch 一般是服务端客户端渲染不一致,加 suppressHydrationWarning 试试。
    6. 掘洞
      掘洞的兔第 7 楼2025/02/17 13:20:51
      这个观点我很认同,revalidatePath 路径要含 locale 前缀,如 /zh/forum/thread/xxx。期待更多实战经验分享。
    7. 差不
      差不多第 8 楼2025/02/24 19:41:37
      我做了类似的对比实验:Server Action 提交后不跳转,用 window.location.href 替代 router.push。这只是个人经验,不一定通用。
    8. 竹林
      竹林深处第 9 楼2025/02/28 01:00:12
      从另一个角度看:hydration mismatch 一般是服务端客户端渲染不一致,加 suppressHydrationWarning 试试。一起学习。
    9. 无所
      无所谓第 10 楼2025/04/02 06:06:38
      我的结论恰恰相反:middleware 里 pathname 含 locale 前缀,用 includes() 不要用精确匹配。一起学习。
    10. 等风
      等风来第 11 楼2025/04/30 15:50:01
      分享一下我的做法:hydration mismatch 一般是服务端客户端渲染不一致,加 suppressHydrationWarning 试试。如果有更好的方案求分享。
    11. ST
      Stack Overflow copy手第 12 楼2025/06/18 05:08:19
      补充一个可能被忽略的点:middleware 里 pathname 含 locale 前缀,用 includes() 不要用精确匹配。
    12. 夏蝉
      夏蝉鸣夜第 13 楼2025/06/30 17:38:29
      Auth.js JWT 不更新是因为没处理 trigger === 'update',要加 useSession().update()。
    13. 蜕皮
      蜕皮的蛇第 14 楼2025/08/21 02:45:46
      上周刚好踩了这个坑,useSession() 返回 null 检查 SessionProvider 是否包裹了组件。
    14. 春暖
      春暖花开第 15 楼2025/09/28 08:13:30
      我调研过这块,useSession() 返回 null 检查 SessionProvider 是否包裹了组件。欢迎交流讨论。
    15. 采蜜
      采蜜的熊第 16 楼2026/01/16 07:08:45
      这个问题我研究过一阵,middleware 里 pathname 含 locale 前缀,用 includes() 不要用精确匹配。踩了很多坑才总结出来的。
    16. 落日
      落日余晖第 17 楼2026/02/07 09:43:06
      revalidatePath 路径要含 locale 前缀,如 /zh/forum/thread/xxx。
    17. 热更
      热更新选手第 18 楼2026/04/20 17:52:06
      这个观点我很认同,Tailwind v4 升级后 @tailwind 指令改为 @import 'tailwindcss'。实践出真知,建议动手试试。
    18. 不将
      不将就第 19 楼2026/05/21 08:24:30
      我的团队是这样做的:next/dynamic + ssr:false 不能在 Server Component 用,要包一层 'use client'。如果有更好的方案求分享。
    19. 晚风
      晚风轻拂第 20 楼2026/05/24 23:38:56
      我做了类似的对比实验:Tailwind v4 升级后 @tailwind 指令改为 @import 'tailwindcss'。如有不对请指正。
    登录后可回复
    雾里

    雾里看花

    楼主个人主页

    帖子信息

    19 回复
    0 浏览
    8 赞
    0 收藏
    回复