天天看點

MinDB:國内高中生的開源JavaScript資料庫項目安裝基本使用方法Store Interface

MinDB:國内高中生的開源JavaScript資料庫項目安裝基本使用方法Store Interface

讓你可以在 JavaScript 中對你的應用資料進行存儲和操作。

MinDB 提供一個标準的存儲接口(

Store Interface

)和 Redis 風格的 API,你可以在任何 JavaScript 環境中使用。

它在 Github 上的項目首頁是:

https://github.com/iwillwen/mindb

據項目作者的

微網誌

資料, 他是廣州石門中學的高中生,1996年出生。(編輯不得不注:後生可畏!!)

安裝

普通

script

标簽引入:

<script style="text/javascript" src="/path/to/script/min.js">

​​

通過

Node.js

npm

安裝:

$ npm install min

如果你正在使用

SeaJS

,你可以通過

spm

進行安裝:

$ spm install iwillwen/min

如果你喜歡

component

,你也可以使用它進行安裝:

$ component install iwillwen/mindb

或者

bower

?:

$ bower install mindb

基本使用方法

基本的鍵值存儲可以通過

SET

GET

等指令操作:

min.set('foo', 'bar', function(err) {

  if (err) {

    return console.error(err);

  }

  min.get('foo', function(err, value) {

    if (err) {

      return console.error(err);

    }

    console.log(value); //=> bar

  });

});

基本方法

  • set

    對指定鍵設定資料

    (key, value[, callback])

  • setnx

    當指定鍵不存在時,對其設定資料

    (key, value[, callback])

  • setex

    對指定鍵設定資料,并設定生命周期

    (key, seconds, value[, callback])

  • psetex

    對指定鍵設定資料,并設定以毫秒為機關的生命周期

    (key, millseconds, value[, callback])

  • mset

    批量對指定鍵設定資料

    (plainObject[, callback])

  • msetnx

    當一批指定鍵全部不存在時,批量對其設定資料

    (plainObject[, callback])

  • append

    在指定鍵後插入值

    (key, value[, callback])

  • get

    擷取指定鍵的值

    (key[, callback])

  • mget

    批量擷取指定鍵的值

    (keys[, callback])

  • getset

    對指定鍵設定資料并傳回其之前的值

    (key, value[, callback])

  • strlen

    擷取指定鍵值的長度

    (key[, callback])

  • incr

    将指定鍵中儲存的數字值增一

    (key[, callback])

  • incrby

    将指定鍵中儲存的數字值增加若幹量

    (key, increment[, callback])

  • incrbyfloat

    将指定鍵中儲存的浮點值增加若幹量

    (key, increment[, callback])

Hash, List, Set, Sorted Set

你或許可以在

Redis

的官方網站中得到啟示。

文法糖( Syntactic sugar )

不喜歡嵌套回調?你或許會喜歡

Promise

:

min.incr('user_id')

  .then(function(curr) {

    return min.hmset('user-' + curr, {

      name: 'Will Wen Gunn',

      id: 'iwillwen',

      email: '[email protected]'

    });

  })

  .then(function(key) {

    var id = key.substr(5);

    return min.sadd('user-msg-' + id, 'WelCome!');

  .then(function(length) {

    // ...

  .fail(function(err) {

    console.log(err);

還不行?不需要依賴?那麼來看看

MULTI

吧:

min.multi()

  .incr('msg-seq')

  .exec(function(err, results) {

    console.log(results); //=> [ [ 1 ], [ 2 ], [ 3 ] ]

MinDB 也支援多資料庫:

var Min = min.fork();

Min.set('foo', 'bar')

  .then(/*...*/)

  .fail(/*...*/);

Store Interface

請閱讀

Store Interface 文檔

.