@raito-cache/client
v0.0.2
Published
API to communicate with raito-cache server
Downloads
110
Readme
raito-expressjs
Table of contents
About
raito-client - is an API for communicating with Raito cache server.
Getting started
[!IMPORTANT] Node.js 18.x+ version must be installed in your OS.
1. Install server
$ yarn add express
$ yarn add @raito-cache/expressjs
2. Connect to Raito
import { Raito } from '@raito-cache/expressjs';
const raito = new Raito(); // defaul connection is localhost:9180
API
Connect to Raito
new Raito(); // Connect to localhost:9180
new Raito(7180); // localhost:7180
new Raito('raito://localhost:9180'); // localhost:9180
new Raito('raito://localhost:9180?ttl=5000'); // localhost:9180 and ttl 5s
new Raito({
port: 9180, // Raito port
host: 'localhost', // Raito host
ttl: 10000, // Cache records time to live
});
Usage
Raito class
import { Raito } from '@raito-cache/expressjs';
const raito = new Raito();
await raito.set('key', { data: 'some data' }); // Create new record
await raito.set('key2', 'other data', 15000); // Create new record with 15s ttl
await raito.get('key2'); // Output: { key: 'key', data: 'other data', createdAt: Date, ttl: 15000 }
await raito.clear('key'); // Deletes record
await raito.shutdown(); // Close connection
Raito Deployment
- Pull docker image:
$ docker pull stbestich/raito-cache:latest
- Run it
$ docker run -e HOST=<host> -p <port>:9180 -it stbestich/raito-cache
Use with docker-compose
services:
raito-cache:
image: stbestich/raito-cache:latest
ports:
- "${PORT:-9180}:${PORT:-9180}"
- "${PORT:-9181}:${PORT:-9181" # Define second port if you need http proxy
env_file:
- .env
environment:
NODE_ENV: production
PORT: ${PORT:-9180}
HOST: ${HOST:-0.0.0.0}
TTL: ${TTL}
tty: true
stdin_open: true
Contributing
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
Changelog
Project changes are writen in changelog, see the CHANGELOG.md.
We use SemVer for versioning. For the versions available, see the tags on this repository. For the versions supported, see the SECURITY.md.
Authors
License
This project is licensed under the MIT License - see the LICENSE.md