Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥

MinDB - Database on JavaScript

MinDB - Database on JavaScript

Avatar for Will Wen Gunn

Will Wen Gunn

July 23, 2014
Tweet

Other Decks in Programming

Transcript

  1. ⾃自我介紹 About Me Will Wen Gunn ⼈人知『⼩小問』 Senior JavaScript Engineer

    Web Architect 按快⾨門的&玩魔⽅方的 連載《JavaScript從細節優化》系列 混跡開源界&2.5次元 http://lifemap.in @iwillwen AT anywhere Photo by @Terllocknicola
  2. –Indexed Database API - W3C “APIs for a database of

    records holding simple values and hierarchical objects.” IndexedDB
  3. // Event Proxy var proxy = eventproxy.create('db', 'store', function(db, store)

    { var _store = db .transaction('mydb-members', 'readwrite') .objectStore('mydb-members'); // Insert a object var request = store.put({ name: 'Will Wen Gunn', gender: 'male', age: 18, aka: 'iwillwen' }); request.onerror = function onError(evt) { console.error(evt.result); }; request.onsuccess = function onSuccess() { console.log('Done!'); }; }); // Create a DB var request = window.indexedDB.open('mydb'); request.onerror = function onError(evt) { console.error(err.result); }; request.onsuccess = function onSuccess(evt) { var db = evt.target.result; proxy.emit('db', db); }; request.onupgradeneeded = function onUgradeNeeded(evt) { var store = evt.target.result.createObjectStore('mydb-members'); proxy.emit('store', store); }; Request callback request callback request and
 callback …
  4. var client = redis.createClient(); // Key-Value client.set('foo', 'bar', function(err, reply)

    { if (err) { return console.error(err); } client.get('foo', function(err, value) { // ... console.log(value, value === 'bar'); }); }); // Hash client.hset('me', 'name', 'Will Wen Gunn', function(err, reply) { // ... client.hgetall('me', function(err, me) { // ... console.dir(me); }); }); // List, Set and Sorted Set 'BTU4JNQMF
  5. var client = redis. // Key-Value client. if (err) {

    return } client. // ... console. }); }); // Hash client. // ... client. // ... console. }); }); // List, Set and Sorted Set 'BTU4JNQMF *UJTKVTUGPS VOJY 85
  6. var id = Math.random().toString(32).substr(2); min.multi() .set('foo', 'bar') .get('foo') // DEMO

    .sadd('users:ids', id) .hset('user:' + id, 'name', 'Will Wen Gunn') .lpush('user:' + id + ':skills', 'JavaScript') .exec(function(err, results) { // ... console.log(results); }); Even the same as Redis! with node_redis https://github.com/mranney/node_redis