作为一门动态生长的编程语言,Node.js作为构建Web服务器的原生技术,已经受到众多Web开发者的青睐。它的主要优势在于它可以让开发人员从多种数据库中获取数据,比如MySQL、MongoDB等。
Redis,也称为远程字典服务器(Remote Dictionary Server),是一个开源的内存数据库,是一种非关系型(NoSQL)垂直数据库。 它支持字符串、哈希表、列表、图集和有序集合等不同类型的复杂数据结构,而且对处理数据非常高效,所以大多数Web应用程序都将它作为数据的主要存储库。
但是相比Node.js,使用Redis也会存在一些局限性。 Redis不支持一般索引查询,所以如果要查找特定的记录,只能使用一般的关键字搜索,这将降低页面查询的效率。 并且,由于redis的数据在内存存储,所以其它应用或服务无法访问,这就意味着,如果要将Redis数据共享给其它应用程序或服务,就需要大量的技术支持。
由于Redis的上述局限性,许多开发人员最终放弃使用它。为了解决这个问题,Node.js中有一种插件–RethinkDB,它能够支持索引查询,而且可以在多台计算机间共享,而且数据在内存中存储,容易管理,可靠性更高。
有了RethinkDB,Node.js可以更加自由的去使用各种数据库,而不必拘束于Redis。这让Node.js发展更加灵活,它可以更灵活的满足开发人员的需求,大大提高了Node.js Web开发的效率。
Node.js加入了RethinkDB以取代Redis,让Node.js的开发技术更加受到Web开发者的青睐,更加满足Web应用的需求。 比如下面的代码可以实现文档的更新:
“`javascript
var rethinkdb = require(‘rethinkdb’);
var conn = rethinkdb.connect({ host: ‘localhost’, port: 28015 })
.then(function(conn) {
var data = {
name: ‘Sam Smith’,
address: ‘123 Mn Street’,
phone: ‘888-888-8888’
};
return rethinkdb.db(‘test’).table(‘people’).get(‘123’).update(data);
})
.then(function(result){
console.log(result);
});