https://github.com/raito-cache-server/raito-client
WebSocket client to communicate with raito-cache server
https://github.com/raito-cache-server/raito-client
Last synced: 11 months ago
JSON representation
WebSocket client to communicate with raito-cache server
- Host: GitHub
- URL: https://github.com/raito-cache-server/raito-client
- Owner: raito-cache-server
- License: mit
- Created: 2024-12-16T18:03:37.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-02-02T19:06:37.000Z (over 1 year ago)
- Last Synced: 2025-07-09T12:05:49.374Z (12 months ago)
- Language: TypeScript
- Homepage:
- Size: 52.7 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README
[](https://www.npmjs.com/package/@raito-cache/client)
[](https://github.com/stbestichhh/raito-client/actions/workflows/node.js.yml)
[](https://github.com/ellerbrock/open-source-badges/)
[](LICENSE)
# raito-expressjs
## Table of contents
* [Description](#about)
* [Getting started](#getting-started)
* [API](#api)
* [Deployment](#deployment)
* [Contributing](#contributing)
* [Changelog](#changelog)
* [Authors](#authors)
* [License](#license)
## About
**raito-client** - is an API for communicating with **[Raito](https://github.com/stbestichhh/raito-cache) cache server**.
## Getting started
> [!IMPORTANT]
> **Node.js 18.x+** version must be installed in your OS.
#### 1. Install server
```shell
$ yarn add @raito-cache/client
```
#### 2. Connect to Raito
```typescript
import { Raito } from '@raito-cache/client';
const raito = new Raito(); // defaul connection is localhost:9180
```
## API
### Connect to Raito
```typescript
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,
host: 'localhost',
ttl: 10000, // Cache records time to live
password: 'superpass123',
});
```
### Usage
**Raito class**
```typescript
import { Raito } from '@raito-cache/client';
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
1. Pull docker image:
```shell
$ docker pull stbestich/raito-cache:latest_amd64
```
2. Run it
```shell
$ docker run -e HOST= -p :9180 -it stbestich/raito-cache
```
#### Use with docker-compose
```yaml
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}
PASSWORD: ${PASSWORD}
tty: true
stdin_open: true
```
## Contributing
Please read [CONTRIBUTING.md](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](CHANGELOG.md).
We use [SemVer](https://semver.org/) for versioning.
For the versions available, see the [tags](https://github.com/stbestichhh/raito-client/tags) on this repository.
For the versions supported, see the [SECURITY.md](SECURITY.md).
## Authors
- [@stbestichhh](https://www.github.com/stbestichhh)
## License
This project is licensed under the MIT License - see the [LICENSE.md](LICENSE)