zoukankan      html  css  js  c++  java
  • 服务器环境的本地数据库

    const fs=require('fs-extra');
    const ShortName=require('./ShortName');
    const WashRoom=require('./WashRoom')
    //本地数据库
    class LocalStorage{
    constructor(tagDir) {
    this.dbDir=tagDir||__dirname+'/db/';
    fs.ensureDirSync(this.dbDir);
    this.shortName=new ShortName({
    tagDir:this.dbDir+'shortName/',
    })
    }
    async setItem(name,item){
    const id=await this.shortName.saveId(name);
    const wash=new WashRoom(id);
    await wash.wait();
    fs.writeFileSync(this.dbDir+id,item);
    wash.end();
    }
    async setData (name, data) {
    const item = typeof data === 'object' ? JSON.stringify(data) : data;
    await this.setItem(name,item);
    }
    async getData (name) {
    if (await this.hasData(name)) {
    const id=await this.shortName.getId(name);
    const item=fs.readFileSync(this.dbDir+id).toString()
    try {
    return JSON.parse(item);
    } catch (e) {
    // ..
    }
    return item;
    }
    }
    async hasData (name) {
    const id=await this.shortName.getId(name);
    if(id!==-1&&fs.existsSync(this.dbDir+id)){
    return true
    }
    return false;
    }
    async removeData (name) {
    const id=await this.shortName.getId(name);
    fs.unlinkSync(this.dbDir+id);
    }
    clearData () {
    fs.emptyDirSync(this.dbDir);
    fs.ensureDirSync(this.dbDir+'shortName/');
    }

    }
    module.exports=LocalStorage;
    const LocalStorage = require('./utils/LocalStorage');
    const localStorage=new LocalStorage(__dirname+'/localDb/');
    localStorage.setData('首页',{
    'logo':'png1',
    '标题':'我是淀粉酶'
    })
    localStorage.getData('首页').then(function (d) {
    console.log(d)
    })
  • 相关阅读:
    写作的益处
    【转载】德鲁克:激发我一生的七段经历
    PS如何删除灰色的自动切片
    其他经验博文分类链接
    LODOP单个简短问答(小页面无需拖动滚动条)
    LODOP导出excel的页眉页脚
    LODOP导出和写入excel测试
    LODOP导出Excel简短问答和相关博文
    Lodop导出excel带数字格式
    LODOP批量打印判断是否加入队列1
  • 原文地址:https://www.cnblogs.com/caoke/p/11928512.html
Copyright © 2011-2022 走看看