nextjs 使用 lru-cache 进行缓存,在api里访问不到page中的缓存

因为Next.js中的页面和API路由是两个不同的执行上下文,它们之间的数据共享并不直接。

解决这个问题的一种常见方法是将缓存实例化为一个单独的模块,并在页面和API路由中共享这个模块。这样,无论是页面还是API路由,它们都可以访问到相同的缓存实例,从而实现数据共享。

下面是一个简单的示例代码,演示如何在Next.js中共享lru-cache缓存:

1、创建一个单独的cache.js文件,并在其中实例化lru-cache:

javascript 复制代码
// cache.js
const LRU = require('lru-cache');
const cache = new LRU({ max: 100 });

module.exports = cache;

2、在需要访问缓存的页面和API路由中引入cache.js文件,以共享缓存实例:

复制代码
// 在页面中引入缓存
import cache from '../path/to/cache.js';

// 在API路由中引入缓存
const cache = require('../path/to/cache.js');

这样,页面和API路由都可以通过引入相同的cache.js文件来访问相同的缓存实例,实现数据共享。

相关推荐
AOwhisky8 小时前
Redis 学习笔记(第四期):高可用与集群(哨兵 + Cluster + 容器化)
linux·运维·数据库·redis·笔记·学习·缓存
MXsoft6189 小时前
**断网续传与本地缓存:弱网环境下的监控数据保障方案**
运维·缓存·自动化
xingyuzhisuan10 小时前
缓存命中率提升方案:从 30% 优化至 82% 全流程优化记录
java·开发语言·缓存·ai
Konwledging10 小时前
Cache Incoherent(缓存不一致)
缓存
慕木沐11 小时前
【Spring AI + Google ADK 】流式输出时 outputKey 状态缓存失败的问题
人工智能·spring·缓存
swordbob11 小时前
缓存延迟双删的两种策略
java·缓存
odoo中国14 小时前
Odoo19 内置缓存原理、用法与避坑指南
缓存·odoo19·实际案例·缓存原理·内置缓存用法
胡小禾15 小时前
Redis哨兵模式下主从同步的偏差
数据库·redis·缓存
zzqssliu15 小时前
Taocarts接口限流实操:基于Redis实现API防刷与流量管控
数据库·redis·缓存
大囚长15 小时前
大模型服务端如何命中缓存
java·人工智能·缓存·dubbo