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文件来访问相同的缓存实例,实现数据共享。

相关推荐
livemetee1 小时前
【关于redis高性能,高可用处理】
数据库·redis·缓存
青山木5 小时前
Hot 100 --- LRU 缓存
java·数据结构·算法·leetcode·链表·缓存·哈希
无小道6 小时前
Redis——哨兵
数据库·redis·缓存·哨兵
闪电悠米6 小时前
黑马点评-Redis Set-实现关注、取关和共同关注
数据库·redis·缓存
Ricky_Theseus6 小时前
CrewAI 生产化:缓存、回调、LLM 配置
java·spring·缓存
风向决定发型丶14 小时前
redis集群搭建
数据库·redis·缓存
宠友信息17 小时前
多端数据互通场景下Spring Boot仿小红书源码结构设计
数据库·spring boot·redis·缓存·架构
长不胖的路人甲18 小时前
Redis 缓存的数据持久化方案讲解
数据库·redis·缓存
长不胖的路人甲18 小时前
Redis 单线程为什么速度很快
数据库·redis·缓存
CCPC不拿奖不改名1 天前
Redis 工程化部署深度解析
linux·服务器·数据库·redis·深度学习·缓存·rag