gpt4 book ai didi

sails.js - 在一个模型中使用两个不同的适配器

转载 作者:行者123 更新时间:2023-12-04 18:42:35 24 4
gpt4 key购买 nike

我想使用 mongo 来存储全局提要的数据,但我想使用 redis 在内存中缓存最新的帖子。有没有办法设置一个模型来使用两个适配器?如果没有,我想我会尝试让一个 Controller 使用两种模型。

最佳答案

这是一项实验性功能,但您可以让单个模型使用多个连接,并且这些连接可以使用不同的适配器:

在 Sails v0.9.x 模型中,使用 mongoredis定义于 /config/adapters.js :

module.exports = {

adapter: ['mongo', 'redis']
attributes: {...}

}

在 Sails v0.10.x 模型中,使用 mongoredis定义于 /config/connections.js :
module.exports = {

connections: ['mongo', 'redis']
attributes: {...}

}

但是,您不能指定某些属性使用一个连接,而其他属性使用另一个。如果涉及多个适配器,并且适配器具有相同的方法,则将它们合并在一起。使用 sails-mongo 就是这种情况。和 sails-redis同型号;两个适配器都有 find , create , updatedestroy ,因此您的模型最终将仅使用一种适配器方法( sails-redis ,在上面的示例中)。

那么多个适配器有什么用呢?这是一种向模型添加外部 API 方法的方法。例如,如果您有一个 File代表 Amazon S3 上的文件的模型,您可以使用 sails-s3upload 的适配器和 download方法,旁边 sails-mongo存储有关文件的元数据。

缓存也是 active development 中的一个功能,但与此同时,您最好的选择是按照您的建议为缓存使用单独的模型。

关于sails.js - 在一个模型中使用两个不同的适配器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22385823/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com