我正在Next.js中开发一个小项目,这是一个游戏。我想添加一个需要大量请求的战斗系统。通常情况下,我会使用WebSockets,但由于无服务器的限制,这并不可行,我不想设置一个单独的示例。目前,我将会话期间的数据存储在一个特殊表中的数据库中-游戏中的战斗。在Next.js中,在HTTP请求之间临时存储数据的正确和最佳方式是什么?
93ze6v8z1#
关于储存:
useState
sessionStorage
localStorage
IndexedDB
如果你只是指缓存本身,那么如果你想避免从服务器端重新加载数据,那么你有几个选择:
getServerSideProps
getStaticProps
swr
useEffect
我认为在这种情况下,你应该使用IndexedDB来存储,并使用swr来与你的后端API对话,特别是如果你正在做一系列不同的请求。swr速度超快,可以让你轻松地进行缓存。
1条答案
按热度按时间93ze6v8z1#
关于储存:
useState
。sessionStorage
。localStorage
。IndexedDB
。如果你只是指缓存本身,那么如果你想避免从服务器端重新加载数据,那么你有几个选择:
getServerSideProps
。你可以使用LRU缓存或类似的缓存来缓存服务器端的函数调用。getStaticProps
。swr
。你可以使用useEffect
来做到这一点,但如果你的数据是可缓存的,swr
更好。我认为在这种情况下,你应该使用
IndexedDB
来存储,并使用swr
来与你的后端API对话,特别是如果你正在做一系列不同的请求。swr
速度超快,可以让你轻松地进行缓存。