Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hjfitz/redis-utils-json
Tools for storing and retrieving JSON withing Redis - Best for web applications
https://github.com/hjfitz/redis-utils-json
babel cache gulp json node redis typescript
Last synced: 2 days ago
JSON representation
Tools for storing and retrieving JSON withing Redis - Best for web applications
- Host: GitHub
- URL: https://github.com/hjfitz/redis-utils-json
- Owner: hjfitz
- License: gpl-3.0
- Created: 2018-01-20T11:00:20.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2018-01-22T19:35:54.000Z (almost 7 years ago)
- Last Synced: 2024-10-27T08:39:28.778Z (11 days ago)
- Topics: babel, cache, gulp, json, node, redis, typescript
- Language: JavaScript
- Homepage: https://hjfitz.github.io/redis-utils-json
- Size: 557 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# JSON Utils for Redis
> Storing data on your server has never been so easy**developer docs**: [github pages](https://hjfitz.github.io/redis-utils-json/)
# Intro
Redis is great, but callback based libraries aren't. I created this library because I work with a lot os JSON responses, and I like to store thise in Redis. Redis is SUPER fast. If you're using Node >6.10, this is the library for you.# Prerequisites
the only requirement is that you have a Redis server running. This is normally on `redis://localhost:6379`, or if you use Heorku - they'll give you the URL.# Usage
```js
// ES5 imports
const Redis = require('redis-utils-json');
const client = new Redis('some-redis-url');const { data, found } = await client.getKey('contentful:fhdjksd');
if (found) // do something with dataconst keys = await client.getKeys('contentful:*')
await client.setKey('contentful:fhsdkjf', { oi: 'ayy ' })
await client.delKey('contentful:fhsdkjf')
// there's a really neat higher order caching function.
// say you want to cache an API response, you can use Redis#cache
// this checks redis for the key, and if found, resolves that data,
// before running the data getting function and updating the store
// if it's not found, you'll get the result of dataGettingFunction
// before the store is updated
const data = await cache('someKey', dataGettingFunction);
```