2.1.1 • Published 2 years ago

pub-src-redis v2.1.1

Weekly downloads
86
License
MIT
Repository
github
Last release
2 years ago

pub-src-redis

CI

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() and put() 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 and source.port
export RCA={auth-pass}
export RCH={host}
export RCP={port}

source.get(cb)

  • get() uses hgetall 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 a text: property
  • the array is sorted alphabetically by path, as if the files came from a directory tree

source.put(files, cb)

  • put() does nothing unless writable 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() and src.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 option get({fromSource:true}, cb) is used

  • src.put() will write directly to redis. cacheOpts.writeThru means that put() will also write to src before returning

  • src.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
2.1.1

2 years ago

2.1.0

3 years ago

2.0.3

4 years ago

2.0.2

4 years ago

2.0.1

4 years ago

2.0.0

4 years ago

1.3.2

4 years ago

1.3.1

4 years ago

1.3.0

4 years ago

1.2.5

5 years ago

1.2.4

5 years ago

1.2.3

5 years ago

1.2.2

5 years ago

1.2.1

5 years ago

1.2.0

5 years ago

1.1.16

8 years ago

1.1.15

9 years ago

1.1.14

9 years ago

1.1.13

9 years ago

1.1.12

9 years ago

1.1.11

9 years ago

1.1.10

9 years ago

1.1.9

9 years ago

1.1.8

9 years ago

1.1.6

9 years ago

1.1.5

9 years ago

1.1.4

9 years ago

1.1.3

9 years ago

1.1.2

9 years ago

1.1.1

9 years ago

1.1.0

9 years ago

1.0.1

9 years ago

1.0.0

9 years ago

0.5.1

9 years ago

0.5.0

9 years ago