node.js中使用redis数据库的正确姿势

node.js中使用redis数据库的正确姿势

ID:8810629

大小:46.00 KB

页数:5页

时间:2018-04-08

node.js中使用redis数据库的正确姿势_第1页
node.js中使用redis数据库的正确姿势_第2页
node.js中使用redis数据库的正确姿势_第3页
node.js中使用redis数据库的正确姿势_第4页
node.js中使用redis数据库的正确姿势_第5页
资源描述:

《node.js中使用redis数据库的正确姿势》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、Node.js中使用redis数据库的正确姿势Redis是一个常用的Nosql数据库,一般用来代替Memcached做缓存服务,同时它也支持数据的持久化,有着比较广泛的应用场景。在Java中使用redis我们已经比较熟悉了,那么在node.js和koa.js框架中使用Redis的正确姿势是怎样的呢?Redis是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。Redis与其他key-value缓存产品有以下三个特点:*Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重

2、启的时候可以再次加载进行使用。*Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。*Redis支持数据的备份,即master-slave模式的数据备份。Node.js已经有很多redis相关的库,我在npm.org上搜了下大概有十几个吧,其中经常使用的redis,co-redis。由于我用koa做web框架,因此就直接用了koa-redis。这篇文章涉及koa.js,yield生成器和Promise相关的知识,需要先对这些概念有一定

3、的认识。下面介绍下redis和koa.js相关的操作吧,我是在Mac下操作的。1.安装redis,并启动客户端和服务器端brewinstallredis启动服务器端redis-server启动客户端redis-cli127.0.0.1:6379[1]>select0OK127.0.0.1:6379>keys*(emptylistorset)127.0.0.1:6379>2.安装node.js和koa.js,node的安装这里就不讲了,通过brewinstall就可以。npminstallkoaredi

4、skoa-redis可以看到koa-redis已经依赖了co-redis,es6-promisify等库`--koa-redis@2.1.2+--co-redis@2.1.1

5、`--es6-promisify@4.1.0

6、`--es6-promise@3.2.1`--hiredis@0.5.0+--bindings@1.2.1`--nan@2.4.03.koa.js操作redis数据这块是本文重点,由于官方的文档和例子不太详细,不熟悉node的同学折腾起来会比较累,所以本文提供了一个比较完整的例子。具

7、体代码里面注释已经写的比较清楚了。varsession=require('koa-generic-session');varredisStore=require('koa-redis');varkoa=require('koa');varredis=require('redis');//注意:client默认是异步callback方式调用;//store.client是经过了co-redis包装,返回Promise,在koa里面用yield异步编程比较方便varclient=redis.creawww

8、.shanxiwang.netteClient(6379,"172.19.65.240");varapp=koa();app.keys=['keys','keykeys'];//varoption={host:"172.19.65.240",db:1};varoptions={client:client,db:1};varstore=redisStore(options);app.use(session({store:store}));app.use(function*(){switch(this.p

9、ath){case'/get':get.call(this);break;case'/testKV'://保存keyvalueif(this.query.adminId){yieldstore.client.set("test1",this.query.adminId);}//同步读取keyvaluethis.body=yieldstore.client.get("test1");break;case'/testHM'://操作hashmapvarresult=yieldstore.client.hm

10、set("hosts","mjr","123","another","23","home","1234");console.log(result);varobj=yieldstore.client.hgetall("hosts")console.dir(obj);www.sm136.com//获取hashmapkey的值this.body=yieldstore.client.hget("hosts","home");//保存hashmap,使用默认的ca

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。