怎么了!我将 redis 与 express 和 nodejs 一起使用。在查看如何从 Redis 插入或检索数据时,我看到了两种方法,一种是这样的:
req.session.surname = 'toto'
console.log(req.session.surname)
另一种方式是这样的:
client.set('surname', 'toto')
client.get('surname', (err, data) => {
console.log(data)
})
这两种方法有区别吗? 谢谢你的帮助。干杯!
最佳答案
这两种方法没有太大区别。在第一个中,如果您需要更高的可靠性,您可以使用任何其他 session 存储,如 mongo-db
(因为 redis
是 memcached
有可能丢失数据,因为数据将仅存储在 RAM 中)。第二个只是设置并获取 key 的所需值,用于不需要 100% 可靠性的一般用途。此外,在并发处理请求时您将面临问题,因为没有像 Redis 这样的内存缓存数据库的并发控制。
如果您需要100% 的可靠性(如果您不想轻易丢失数据),您可以使用mongo-db
。在 mongo-db 中,数据将被持久存储,我们也可以控制并发性。
关于node.js - 我应该像这样使用 redis : req. session.surname = 'toto' 还是像这样 client.set ('surname' , 'toto' ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57628538/