
讓你可以在 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 文檔.