Redis 需要很多时间来检索数据

问题描述 投票:0回答:1

我正在开发 Node.js 项目。我开始通过 upstash 使用 Redis 来缓存数据。与没有 redis 的情况相比,它需要更多的时间来检索数据。当我使用

redis.get()
redis.set()
时,需要太多时间。

const Redis = require('ioredis')
const redis = new Redis(REDIS_URL);

router.get('/', async (req, res) => {
    try {

        const redisProduct = await redis.get('products');
        if(redisProduct) {
            console.log("returned from redis")
            const products = JSON.parse(redisProduct)
            return res.render('products', { products })
        }
        const products = await productSchema.aggregate([
            {
                $sort: { createdAt: -1 }
            }
        ])
        await redis.set('products', JSON.stringify(products), 'EX', 300)
        console.log('quaried from database and set to the redis')
        return res.render('products', { products })
    } catch(error) {
        console.log('Error: ' + error)
        res.status(404).send('Something went wrong')
    }
})
node.js express redis
1个回答
0
投票

500 毫秒就是半秒,速度非常快。没有缓存的数据库查询之所以这么快,是因为您仍在设置并且尚未获取大量数据来查询。如果您知道您永远不会拥有大量数据,则不需要缓存服务。我很确定这就是一切的运作方式。希望对您有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.