React + Koa2打造『官方管理后台』1

一.Redis认知、安装与操作

(1).基础知识

Redis

内存数据库 访问快 内存压力增大 公共数据 登录信息存储

MySql

硬盘数据库 访问相对慢 内存压力小 静态数据集合 非公共数据 网站的视图数据

(2).安装

菜鸟安装

https://www.runoob.com/redis/redis-install.html

(3).常用指令

启动   redis-server

连接客户端   redis-cli

port:6379

设置或修改Redis  set name 'xx'

获取Redis  get name

获取Redis所有key key*

删除Redis key  del name

退出Redis exit

(4).项目中安装依赖

npm i redis -S

二.Cookie、Session与Redis夯实理论

(1).问题阐述

32位的服务器和64位的服务器进程存储空间是有限的,具体数值我忘了,也就是说空间有可能被占满,如果你又重新开辟一个进程也不行,是互相隔离的,

所以前端要把session存储在redis中进行保存是一种比较不错的解决方案

(2).session特性

session 数据量小

session 不考虑数据丢失的问题

session 访问度很高,要求访问快,性能高

(3).不适合redis

1.操作频率不高的数据

2.数据无法承受丢失的结果

3.数据量大,内存无法承受

(4).koa2配置redis

koa-redis koa2操作redis依赖

koa-generice-session koa2操作session

npm i koa-redis koa-generic-session -S

三.打通cookie、session、redis

1.db_config中更改mysql配置为大写,redis_conf进行配置

REDIS_CONF:['6379','127.0.0.1']

2.redis_connect.js在connection文件夹中新建

const redis = require('redis'),
      {REDIS_CONF} = require('../../config/db_config');
const red = redis.createClient(REDIS_CONF);
red.on('error',(error)=>{
    console.error('Redis error'+error);
})      
module.exports = red;

3.在Lib中新建redisClient

const red = require('../do/connection/redis_connect');
function redisSet(key, value, timeout= 60*60){
    if(typeof(value) === 'object'){
        value = JSON.stringify(value);
    }
    red.set(key,value);
    red.expire(key,timeout)
}
function redisGet(key){
    return new Promise((resolve,reject)=>{
        red.get(key,(error,value)=>{
            if(error){
                reject(error);
                return
            }
            if(value == null){
                resolve(null);
                return
            }
            try {
                resolve(JSON.parse(value))
            } catch (error) {
                resolve(value)
            }
        })
    })
}
module.exports={
    redisSet,
    redisGet
}

4.app.js中引入,书写配置项

app.keys = sessionInfo.keys;
app.use(session({
  key:sessionInfo.name,
  prefix:sessionInfo.prefix,
  cookie:cookieInfo,
  stroe:koaRedis(redisInfo)
}))

5.config.js中配置配置项

const {REDIS_CONF} = require('./db_config')
    sessionInfo:{
        keys:['a1!@hklhda*YUIYJK'],
        name:'txclass.sid',
        prefix:'txclass.sess'
    },
    cookieInfo:{
        path:'/',
        httpOnly:true,
        maxAge:24*60*60*1000
    },
    redisInfo:{
        all:`${REDIS_CONF[1]}:${REDIS_CONF[0]}`
    }

6.配置环境,confing文件夹中建立,env_config.js

const ENV = process.env.NODE_ENV;
module.exports={
    isDev:ENV === 'dev',
    isPrd:ENV === 'production'
}

7.db_config更改

const ENV = require('./env_config')
module.exports ={
    mysql:{
        base:{
            host:'localhost',
            dialect:'mysql',
            pool:{
                max:5,
                min:0,
                idle:10000
            }
        },
        conf:['txclass','root',ENV.isPrd ? 'xxx':'123456']
    },
    REDIS_CONF:['6379','127.0.0.1']
}

8.安装ejs

npm i ejs -S

9.更改app.js

app.use(views(__dirname + '/views', {
  extension: 'ejs'
}))

10.views文件夹中建立Index.ejs

11.route文件夹中建立index.js

const router = require('koa-router')(),
      indexController = require('../controller/index')
      router.get('/',indexController.index )      
      module.exports = router     

 

12.controller中新建一个index.js

class Index{
    async index(ctx,next){
        const sess = ctx.session;
        if(!sess.uid){
            sess.uid = 1;
            sess.userName = 'zza';
            sess.nikeName = 'js++';
            sess.gender = 'male'
        }
        ctx.body={
            session:sess
        }
    }
}
module.exports = new Index();

12.app.js中配置

const indexRouter = require('./routes/index')
app.use(indexRouter.routes(), indexRouter.allowedMethods())

刷新访问

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
React是一个用于构建用户界面的JavaScript库,而Ant Design是一个基于React的UI组件库。结合React和Ant Design可以快速开发出美观、高效的后台管理系统。 React提供了一种声明式的编程模式,通过组件化的方式构建用户界面。Ant Design则提供了丰富的UI组件,包括表单、表格、按钮、导航等等,可以帮助开发者快速搭建出功能完善的后台管理系统。 在使用React+Ant Design开发后台管理系统时,一般的步骤如下: 1. 创建React项目:使用脚手架工具(如create-react-app)创建一个新的React项目。 2. 安装Ant Design:通过npm或yarn安装Ant Design库。 3. 引入Ant Design组件:在需要使用的地方引入所需的Ant Design组件,例如导航栏、表格等。 4. 构建页面布局:使用Ant Design提供的栅格系统和布局组件构建页面的整体布局。 5. 开发业务组件:根据需求开发各个业务组件,例如用户管理、订单管理等。 6. 处理数据流:使用React的状态管理库(如Redux)来管理应用的状态和数据流。 7. 添加路由:使用React Router来实现页面之间的跳转和路由控制。 8. 样式定制:根据需求对Ant Design提供的组件进行样式定制,使其符合项目的设计风格。 9. 运行和部署:在开发过程中,使用npm或yarn运行项目进行调试。最后,使用打包工具(如webpack)将项目打包成静态文件,并部署到服务器上。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值