rxjs-observable-of-redis-cmd

1.0.6 • Public • Published

OORedis, aka rxjs-observable-of-redis-cmd

Create an rxjs6 obserbable from a generic redis command.

pure console

 
//we only need the basic to obtail a simple value from redis. 
var OOredis = require("rxjs-observable-of-redis-cmd")
var conf = {host: 'localhost', port: 6379}
 
var setFoo$ = OOredis('set', ['fookey', 'foovalue'], conf)
var getFoo$ = OOredis('get', 'fookey', conf)
 
setFoo$.subscribe(console.log, console.error) //1 or 0 
getFoo$.subscribe(console.log, console.error) // nil or value
 
//we can use to set different types whith the correct command 
var sethmsetFeatures =  OOredis(
    'hmset' , //cmd
    ['features', 
    'feature01', 'false',
    'feature02', 'false',
    'feature04', 'true'],
    conf
).subscribe(console.log)
 
var hmgetAllFeatures = OOredis(
   'hgetall',
   'features',
   redisConfig
).subscribe(console.log)
//All commands availiable in the redis client can be converted in observables 
 
var allKeys = OORedis('keys', '*')
var someNamespaceKeys = OORedis('keys', '*someNamespaceKeys*')
 
allKeys.subscribe(console.log)
someNamespaceKeys.subscribe(console.log)
 
 

inside nodejs and express

import express from 'express'
import OORedis from 'rxjs-observable-of-redis-cmd'
 
const redisConfig = Object.freeze({//todo refactor 2 config file.
  host: 'localhost', //or remote redis
  port: '6379',
})
 
const app = express()
 
app.listen(
  8888,
  () => console.info('Server running on port ', 8888),
)
 
 
app.get('/features', function (req, res) {
  OORedis(
    'hgetall',
    'features',
    redisConfig
  )
  .subscribe(
    (next) => {res.json(next)},
    console.error,
  )
})
 
app.post('/features', function (req, res) {
  OORedis(
    'hmset' ,
    ['features',
    'feature01', 'false',
    'feature02', 'false',
    'feature04', 'true'],
    redisConfig
    )
  .subscribe(
    (next) => {res.json(next)},
    console.error
  )
})
 

inside React component

 
//inside a component...
 
class App extends Component {
componentDidMount() {
  OOredis('get' , 'somekey').subscribe(this.setState)
    
}
}

Dependencies (2)

Dev Dependencies (0)

    Package Sidebar

    Install

    npm i rxjs-observable-of-redis-cmd

    Weekly Downloads

    12

    Version

    1.0.6

    License

    ISC

    Unpacked Size

    3.75 kB

    Total Files

    4

    Last publish

    Collaborators

    • pascualmg