首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有可能让node.js红人退却吗?

有可能让node.js红人退却吗?
EN

Stack Overflow用户
提问于 2015-03-08 07:57:33
回答 2查看 832关注 0票数 0

在拉拉维尔,你可以做这样的事情

代码语言:javascript
运行
复制
$object = Cache->remember(key, duration, function() {
 $result = mysql_fetch_something();// retrieve from MySQL here
 return $result;
 });

基本上,Laravel首先检查缓存是否存在,如果不存在,则允许从数据库中检索值,并在返回值的同时自动将其放入缓存中。节点中是否存在类似的构造,即1停止缓存检查,db故障转移机制?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-08 15:12:47

在节点中没有专门的命令,但是您可以自己构建它。

只需使用redis命令检查键是否在redis中,如果不是,只检查mysql并存储它。

票数 1
EN

Stack Overflow用户

发布于 2015-03-25 15:55:05

你可以做一些这样的事。在cache.js

代码语言:javascript
运行
复制
var isCacheAvailable = true;

exports.init = function () {

    var server = config.get('Cache.server');
    var port = config.get('Cache.port');
    client = redis.createClient(port,server);

    // handle redis connection temporarily going down without app crashing
    client.on("error", function (err) {
        logger.error("Error connecting to redis server " + server + ":" + port, err);
        isCacheAvailable = false;
    });

}

exports.isCacheAvailable = function(){
    return isCacheAvailable;
}

检查您打算使用缓存的isCacheAvailable()函数。

代码语言:javascript
运行
复制
if(cache.isCacheAvailable()) { 
    // use cache to fetch data
} else {
   // fallback to mysql db
}

希望这能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28924300

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档