bonsaif 1.10.32 → 1.10.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/lib/hookup/redis.js +29 -11
  2. package/package.json +1 -1
@@ -22,15 +22,8 @@ const scan=async(options,db, cursor, pattern, count)=>{ // SCAN cursor [MATCH p
22
22
  try{
23
23
  redisConn.select(db,function() { /* ... */ });
24
24
 
25
- let args = [cursor];
26
- if (pattern) {
27
- args.push('MATCH', pattern);
28
- }
29
- if (count) {
30
- args.push('COUNT', count);
31
- }
32
-
33
- redisConn.scan(args, function (err, res) {
25
+ // SCAN necesita los argumentos expandidos, no como array
26
+ redisConn.scan(cursor, 'MATCH', pattern, 'COUNT', count, function (err, res) {
34
27
  if (err) {
35
28
  reject(err);
36
29
  return;
@@ -767,6 +760,29 @@ const keys=async( options, db, pattern )=>{ // KEYS pattern
767
760
  })
768
761
  }
769
762
 
763
+ const dbsize=async( options, db )=>{ // DBSIZE
764
+ const exec = require("./exec");
765
+ const redisConn = await exec.redisConn(options);
766
+ const start = Date.now();
767
+ return new Promise((resolve, reject)=>{
768
+ try{
769
+ redisConn.select(db,function() { /* ... */ });
770
+ redisConn.dbsize(function (err, res) {
771
+ const end = Date.now();
772
+ const time = end - start;
773
+ resolve({"dbsize":db, "count":res, "err":err, "res":res, "time":utl.milisegundosASegundos(time)});
774
+ try{
775
+ exec.redisClose(redisConn);
776
+ }catch(e){
777
+ utl.log('err.dbsize '+e);
778
+ }
779
+ });
780
+ }catch(e){
781
+ utl.log('err dbsize'+e);
782
+ }
783
+ })
784
+ }
785
+
770
786
  const api=async(options, dbm, json)=>{
771
787
  const exec = require("./exec");
772
788
 
@@ -784,7 +800,7 @@ const api=async(options, dbm, json)=>{
784
800
  let lstop = json.stop!=null?json.stop*1:-1;
785
801
  let {field:id, val:vid} = getFirstField(filter);
786
802
 
787
- let ltdml = ['sinter','sunionstore','scard','hmget','hfind','upsert','set','get','scan','incrby','sadd','srem','smembers','hset','hgetall','del','incrbyfloat','expireat','setnx','hsetnx','hmset','expire','lrange','keys'];
803
+ let ltdml = ['sinter','sunionstore','scard','hmget','hfind','upsert','set','get','scan','incrby','sadd','srem','smembers','hset','hgetall','del','incrbyfloat','expireat','setnx','hsetnx','hmset','expire','lrange','keys','dbsize'];
788
804
  for (let x of ltdml){
789
805
  if (utl.ObjectEmpty(json,x)){
790
806
  dml = x; break;
@@ -822,6 +838,7 @@ const api=async(options, dbm, json)=>{
822
838
  case 'expire': r = await expire(options,dbm,key,expire); break;
823
839
  case 'lrange': r = await lrange(options,dbm,key,lstart,lstop); break;
824
840
  case 'keys': r = await keys(options,dbm,key); break;
841
+ case 'dbsize': r = await dbsize(options,dbm); break;
825
842
  case 'sinter': r = await sinter(options,dbm,Array.isArray(key) ? key : [key]); break;
826
843
  case 'hmget': r = await hmget(options,dbm,key,fieldsArray); break;
827
844
  case 'sunionstore': r = await sunionstore(options,dbm,destination,keysArray); break;
@@ -935,5 +952,6 @@ module.exports ={
935
952
  expire,
936
953
  expireat,
937
954
  lrange,
938
- keys
955
+ keys,
956
+ dbsize
939
957
  }
package/package.json CHANGED
@@ -14,7 +14,7 @@
14
14
  },
15
15
  "name": "bonsaif",
16
16
  "description": "bonsaif is a library to connect to bonsaif apis",
17
- "version": "1.10.32",
17
+ "version": "1.10.33",
18
18
  "main": "index.js",
19
19
  "directories": {
20
20
  "lib": "lib"