This commit is contained in:
Matias Alejo Garcia 2016-03-01 17:21:41 -03:00
parent f23f114e9e
commit 0dc39ce84b
2 changed files with 17 additions and 3 deletions

View File

@ -11,6 +11,7 @@ var async = require('async');
var MAX_BATCH_SIZE = 100;
var RPC_CONCURRENCY = 5;
var SIZE_TO_ENABLE_DEAD_CACHE=100;
var tDb = require('../../lib/TransactionDb').default();
@ -47,7 +48,7 @@ var getAddrs = function(req, res, next) {
var addrStrs = req.param('addrs');
var s = addrStrs.split(',');
if (s.length === 0) return as;
var enableDeadAddresses = s.length > 100;
var enableDeadAddresses = s.length > SIZE_TO_ENABLE_DEAD_CACHE;
for (var i = 0; i < s.length; i++) {
var a = new Address(s[i], enableDeadAddresses);
as.push(a);

View File

@ -13,7 +13,9 @@ var TransactionDb = imports.TransactionDb || require('../../lib/TransactionDb').
var BlockDb = imports.BlockDb || require('../../lib/BlockDb').default();
var config = require('../../config/config');
var CONCURRENCY = 5;
var DAYS_TO_DEAD = 40;
//var DAYS_TO_DEAD = 40;
var DAYS_TO_DEAD = 1;
var MAX_CACHE_KEYS = 100;
var deadCache = {};
@ -100,7 +102,18 @@ Address.prototype.setCache = function() {
this.cached = true;
deadCache[this.addrStr] = this;
console.log('%%%%%%%% cache size:', _.keys(deadCache).length); //TODO
var size = _.keys(deadCache).length;
console.log('%%%%%%%% cache size:', size); //TODO
if (size > MAX_CACHE_KEYS) {
console.log('%%%%%%%% deleting ~ 20% of the entries...');
for (var prop in deadCache)
if (Math.random() < 0.2)
delete deadCache[prop];
console.log('%%%%%%%% cache size:', size); //TODO
}
// TODO expire it...
};