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

相关推荐
TDengine (老段)26 分钟前
TDengine Catalog 与元数据缓存
大数据·数据库·物联网·缓存·时序数据库·tdengine
hui-梦苑4 小时前
[Gromacs]核心性能梯度测试:GROMACS 多线程性能调优实验
缓存·性能优化·多线程·gromacs·动力学模拟
Lyyaoo.6 小时前
【链表】【中等】两数相加/倒N删除/两个交换/排序链表/LRU缓存
数据结构·链表·缓存
努力努力再努力wz6 小时前
【Redis入门系列】:从 RESP 协议到 redis-plus-plus:Redis 客户端编程与 C++ 接口设计
开发语言·数据库·c++·redis·分布式·缓存·架构
OH_TPC1 天前
【鸿蒙优选三方库】@react-native-ohos/react-native-fast-image:高性能图片加载与缓存组件
缓存·华为·harmonyos·鸿蒙
liangshanbo12151 天前
手写 Event Emitter(事件发射器)
缓存
数智启示录1 天前
Apache Kafka Consumer 扩到 40 个仍不提速:Partition 上限锁死有效并行度 【Kafka合集】
数据库·经验分享·分布式·缓存·面试·kafka·apache
2601_962297251 天前
python自带缓存lru_cache用法及扩展的使用_python
python·缓存·装饰器·lru_cache·my_cache
xixingzhe21 天前
SpringBoot 接口缓存实现
spring boot·后端·缓存
莫得感情 o2 天前
Redis 05 · 持久化:RDB 与 AOF 怎么保证数据不丢
redis·缓存