zset-node

    1.1.1 • Public • Published

    ZSet - node queue with a weight in the memory

    Build Status npm version

    methods

    create: let zset = new ZSet({t1: {val: {val: 1}}})

    add new item : zset.set('t2', {val: {val: 10}})

    multiple add new item: zset.add({t3: {val: {val: 3}}})

    increment weight item: zset.incr('t2', weight = 1)

    search item: zset.search('val.val', callback)' callback example - (count) => count > 0 val.val - path

    first item: zset.first()

    last item: zset.first(true)

    first and pop item: zset.firstPop()

    del item: zset.del('t2')

    get by key item: zset.byKey('t1')

    restart weight zset.restart(default = 1)

    clear zset zset.clear()

    Links

    only object values

    setLink zset.setLink('t10.val', 10)

    getLink zset.setLink(10)

    delLink zset.delLink(10)

    Install: npm i zset-node --save

    Example use:

    let ZSet = require('zset-node');
    let zset = new ZSet({t1: {val: {val: 1}}});
    zset.set('t2', {val: {val: 10}})
    zset.incr('t2')
    console.log(zset.first());
    console.log(zset.search('val.val', (count) => count > 5));
    zset.incr('t1', 5)
    zset.incr('t2', -1)
    console.log(zset.first());
    zset.restart()
    zset.byKey('t1')
    zset.clear()
    

    benchmark:

           1,777,719 op/s » full
          10,857,283 op/s » set
         184,439,075 op/s » incr
          16,156,104 op/s » set2
          15,822,752 op/s » get
           1,351,739 op/s » search
          14,427,746 op/s » first
          13,898,607 op/s » last
         217,104,550 op/s » byKey
           5,367,071 op/s » first and pop
             592,784 op/s » set_link
    
    
      Suites:  1
      Benches: 6
      Elapsed: 5,085.41 ms
    

    Install

    npm i zset-node

    DownloadsWeekly Downloads

    2

    Version

    1.1.1

    License

    ISC

    Unpacked Size

    9.45 kB

    Total Files

    9

    Last publish

    Collaborators

    • s00d