You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Module for adding a redis-based caching layer in front a node-tilejson tilelive source.
It wraps node-tilejson, providing a new source constructor with redis superpowers:
var options = {
client: client, // optional, instantiated redis client
ttl: <number> or <object>, // optional, object cache ttl in seconds
stale: <number> or <object>,// optional, max number of seconds to allow a stale object to be served
timeout: <number> // optional, max ms to wait before bypassing redis. Defaults to 50
};
var TileJSON = require('tilelive-redis')(options, require('tilejson'));
new TileJSON( ... )
For options.ttl and options.stale an object may be provided to specify
different times for different keys. For example:
varoptions={ttl: {'bananas': 5,'oranges': 1000}};
will set any keys matching the string bananas to have a ttl of 5 seconds and
any keys matching oranges will be set to have a ttl of 1000 seconds.
Requirements
Required minimal/supported version of redis-server is 2.8.x
Command queue high water mark
node-redis supports a command_queue_high_water option, which tilelive-redis
uses in order to avoid back pressure in the application as a result of a failing
redis server. tilelive-redis will skip redis and instead request only from the
source once the command queue high water mark is hit. The default value for
command_queue_high_water is set by node-redis and is 1000; set a custom value
in your redis client if you desire.