理想是火,点燃熄灭的灯。
简单介绍:Redis是一个常用的Nosql数据库,一般用来代替Memcached做缓存服务,同时它也支持数据的持久化,
有着比较广泛的应用场景。在Java中使用redis我们已经比较熟悉了,
那么在node.js和koa.js框架中使用Redis的正确姿势是怎样的呢?
Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。
Redis 与其他 key - value 缓存产品有以下三个特点:
* Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。
* Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
* Redis支持数据的备份,即master-slave模式的数据备份。
Redis常用命令可以参考http://www.runoob.com/redis/redis-keys.html
Node.js已经有很多redis相关的库,我在npm.org上搜了下大概有十几个吧,其中经常使用的redis,co-redis。
由于我用koa做web框架,因此就直接用了koa-redis。
这篇文章涉及koa.js,yield生成器和Promise相关的知识,需要先对这些概念有一定的认识。
以下是一些koa-redis的操作
此案例以连接远程的redis为例子,不在本地下载redis和启动服务。
1.安装相关依赖。
npm i koa-generic-session redis koa-redis koa
2.配置一些redis的参数
let redisStore = require("koa-redis"); let app = new koa(); let options = { host: "127.0.0.1", port: 6379, db: 0, // pass: "UFbCL%162WPB8Eyq", }; let store = redisStore(options);
redis连接的参数大全:
Options
* {Object} client redis client
* {String} host redis connect host (without options.client)
* {Number} port redis connect port (without options.client)
* {String} socket redis connect socket (without options.client)
* {String} db redis db
* {String} pass redis password
3.进行连接和读写
app.use( session({ store: store, }) ); app.use(async function (ctx, next) { switch (ctx.url) { case "/testKV": await store.client.set("test1", "123"); ctx.body = await store.client.get("test1"); break; } }); app.listen(1234, () => { console.log("koa is run port:1234"); });
全部的代码
let session = require("koa-generic-session"); let koa = require("koa"); let redis = require("redis"); let redisStore = require("koa-redis"); let app = new koa(); let options = { host: "127.0.0.1", port: 6379, db: 0, // pass: "UFbCL%162WPB8Eyq", }; let store = redisStore(options); app.use( session({ store: store, }) ); app.use(async function (ctx, next) { switch (ctx.url) { case "/testKV": await store.client.set("test1", "123"); ctx.body = await store.client.get("test1"); break; } }); app.listen(1234, () => { console.log("koa is run port:1234"); });
参考文档:https://github.com/koajs/koa-redis
https://blog.csdn.net/offbye/article/details/52452322
https://blog.csdn.net/weixin_42554191/article/details/108967804
作者: Bill 本文地址: http://biaoblog.cn/info?id=1620872040000
版权声明: 本文为原创文章,版权归 biaoblog 个人博客 所有,欢迎分享本文,转载请保留出处,谢谢!
上一篇:Koa设置Nginx反向代理
下一篇:移动端(h5)自动填充短信验证码