pub-src-redis v2.4.0
pub-src-redis
redis source for pub-server and pub-generator - also provides cache for other source
- uses a redis hash to map file.path to file.text
- supports non-FILE type (opaque) sources with simple key->data get and set
- provides
get()
andput()
for bulk reads and writes - also provides
cache()
to proxy-cache another source. This is useful for avoiding startup delays on slow/remote sources like github.
NOTE: This library uses node-redis v3.x because of difficulties upgrading this codebase to v4.x.
src(options)
var src = require('pub-src-redis');
// instantiate source
// options become properties of source
var source = src( { name:'redis-source' } );
// use redis as a cache
source.cache(otherSource, { writeThru:false });
configuring redis keyname
- the redis keyname is derived from
source.name || source.path
redis auth
- auth configuration has to come from
process.env.RCA
- redis host and port can be configured the same way, or via
source.host
andsource.port
export RCA={auth-pass}
export RCH={host}
export RCP={port}
source.get(cb)
get()
useshgetall
to fetch the entire hash in one async operation - no filtering is provided- the result is an array of file objects each with a
path:
and atext:
property - the array is sorted alphabetically by path, as if the files came from a directory tree
source.put(files, cb)
put()
does nothing unlesswritable
is set on the source- it uses
hmset
to write an array of file objects, overwriting any existing files with the same path - there is no partial file write but the array may contain a subset of the files read via
get()
source.cache(src, cacheOpts)
interposes
src.get()
andsrc.put()
, for a different source (src) like github.src.get()
will read from src on the first call, and subsequently read only from redis, unless the optionget({fromSource:true}, cb)
is usedsrc.put()
will write directly to redis.cacheOpts.writeThru
means thatput()
will also write to src before returningsrc.commit()
writes a single file from cache back to source - only available if!cacheOpts.writeThru
.src.revert()
reverts a single file from source - only available if!cacheOpts.writeThru
.
source.clear(cb)
- redis-specific api - used mainly for testing
- deletes the key used by this src and everything in it - use with care
source.unref()
- redis-specific api - e.g. used by
pub -O
- allows the server to exit after creating an instance of src-redis
- for more information, see node_redis
9 months ago
10 months ago
9 months ago
3 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago