mysql - NodeJS、Redis 和 MySQL

标签 mysql node.js redis memcached

请问有人用过NodeJS + Redis + MySQL 目标是让 NodeJS 从 Redis 获取数据,只有在找不到数据时才到达 MySQL,同时用数据更新 MySQL

那么我如何运行来自 Redis 的关系请求,知道它是 NoSQL in-memory DB

我读到 Redis 比 Memcached 更好,而且它似乎更快,所以我想尝试一下,但似乎我能掌握的所有教程都只是 PHP 基于。

目前我使用 NodeJs + MySQL 如下(示例):

var d = new Date();
var date = d.getFullYear() + '-' + paddnum(Math.round(d.getMonth() + 1)) + '-' + paddnum(d.getDate()) + ' ' + paddnum(d.getHours()) + ':' + paddnum(d.getMinutes()) + ':' + paddnum(d.getSeconds());

var query = `INSERT INTO comments (COMMENT, POSTID)
                        VALUES ('{"author":"` + data.userid + `", "comment": "` + data.comment + `", "time":"` + date + `"}', ` + data.postid + `)
                        ON DUPLICATE KEY UPDATE
                            COMMENT = CONCAT(COMMENT, ',{"author":"` + data.userid + `", "comment": "` + data.comment + `", "time":"` + date + `"}'),
                            POSTID = ` + data.postid;
//console.log(query);
connection.query(query,
    function(err, results) {
        if (err) {
            return err;
        }
        return results;
    }
);

最佳答案

我不确定您真正需要什么,但根据问题,您需要能够在 nodejs 代码和 MySQL 数据库之间运行的代码和模块。 你可以使用这个模块进行redis操作 git://github.com/NodeRedis/node_redis.git

现在您需要做的就是连接到 Redis,填写数据,然后根据用户请求检查 Redis-> 如果找到则返回数据,如果没有则进行数据库查询。反之亦然。

希望这对您有所帮助。

关于mysql - NodeJS、Redis 和 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38692586/

相关文章:

mysql - 让重复 key mysql正常工作

javascript - Express JS发送数组总是空的

Redisson getAtomicLong - 如果 key 不存在会发生什么?

php - 刷新页面时空帖子 [双重提交] (PHP/MYSQL)

php - Laravel - 用户外键导致尝试获取非对象的属性

mysql - 从具有特定根的 SQL 表中获取最新分支的最有效方法是什么?

node.js - 升级nodejs centos 6.9

javascript - Node.js 使用 Series 函数(模式?)实现流控制的意外结果

redis - 如何获取与全局 key 不匹配的Redis集的元素?

python - 无法检查 celery 队列