zoukankan      html  css  js  c++  java
  • koa2中的session及redis

    下面来说一下最近小sam在做项目遇到的一些小问题,首先是session了,即然是服务器渲染又需要用户登录功能,那么用session去记录用户登录态是必需要了~~在express中用的是express-session,那么在koa2中用的是哪个模块

    session

    1.koa2-cookie-session

    1.Install
     npm install koa2-cookie-session --save
    
    
    
    2.Usage
     import Koa from "koa";
      import session from "koa2-cookie-session";//注意这里的引入,一定要用improt from的姿势,不能用require的方法,不然会报错……
      const app = new Koa();
      //Options 
      app.use(session({
         key: "SESSIONID",   //default "koa:sid" 
         expires:3, //default 7 
         path:"/" //default "/" 
      }));
    
    app.use(ctx => {
    ctx.session.user = {
        name: "myname"
    };
    ctx.body = ctx.session;
    });
    
    
    
    
    

    2.koa-session-redis 
    如果有用到redis想把session存在redis上的话用这个……

    1.install

    $ npm install koa-session-redis

    2.Example

    var session = require('koa-session-redis');
    var koa = require('koa');
    var app = koa();
    app.keys = ['some secret hurr'];
    app.use(session({
    store: {
      host: process.env.SESSION_PORT_6379_TCP_ADDR || '127.0.0.1',
      port: process.env.SESSION_PORT_6379_TCP_PORT || 6379,
      ttl: 3600,
     },
     },
    ));
    
    app.use(function *(){
       var n = this.session.views || 0;
       this.session.views = ++n;
       this.body = n + ' views';
    })
    
    app.listen(3000);
    console.log('listening on port 3000');
    redis

    redis需要在服务器安装,安装的过程这里就不说了……假如在服务器上安装好了redis,那么怎样在koa2上用, 
    1.ioredis

    npm install ioredis --save

    2.在koa2中用法

    const router = require('koa-router')();
     const Redis=require('ioredis');
     const redis=new Redis({
        host : '127.0.0.1',//安装好的redis服务器地址
        port : 80, //端口
        prefix : 'sam:',//存诸前缀
        ttl : 60 * 60 * 23,//过期时间
        db: 0
    });
     router.get('/',async function(ctx,next){
        redis.set("test","kwg kwg kwg");
        const doc = await
        redis.get("test",function(err,doc){
            return doc;
        });
       ctx.body=doc;
    
     });
    
     module.exports = router;

    大概就这样子~~~

  • 相关阅读:
    OCP-1Z0-053-V13.02-252题
    Java中list.get(index)报错
    OCP-1Z0-053-V13.02-103题
    Hash unique和Sort unique
    如何解决mysql数据库8小时无连接自动关闭
    OCP-1Z0-053-V13.02-538题
    OCP-1Z0-053-V13.02-537题
    OCP-1Z0-053-V13.02-518题
    用绘本回忆青春创业经历——leo鉴书46
    OCP-1Z0-053-V13.02-502题
  • 原文地址:https://www.cnblogs.com/samsimi/p/6547452.html
Copyright © 2011-2022 走看看