https://github.com/i-sevostyanov/cached
Cached is an in-memory cache server with a simple text-based protocol.
https://github.com/i-sevostyanov/cached
btree cache golang protocol tcp-server thread-safe ttl-cache
Last synced: 10 months ago
JSON representation
Cached is an in-memory cache server with a simple text-based protocol.
- Host: GitHub
- URL: https://github.com/i-sevostyanov/cached
- Owner: i-sevostyanov
- License: mit
- Created: 2019-09-20T11:17:35.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2021-05-24T13:08:04.000Z (about 5 years ago)
- Last Synced: 2025-01-25T18:30:58.018Z (over 1 year ago)
- Topics: btree, cache, golang, protocol, tcp-server, thread-safe, ttl-cache
- Language: Go
- Homepage:
- Size: 19.5 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Cached
Is an in-memory cache server with a simple text-based protocol.
### Features
* TTL per key (based on BTree index)
* Dump and Restore from disk
* Thread-safety
* Commands:
* `set `
* `get `
* `del `
* `stats`
* `quit`
### Why?
For fun and profit :-)
### How to use
You need just start a server and connect to it from `nc`, like this:
```bash
nc 127.0.0.1 4000
```
Set value:
```bash
set mykey myvalue 300s
OK
```
Get value:
```bash
get mykey
myvalue
```
Delete value:
```bash
del mykey
OK
```
Show stats:
```bash
stats
Hit: 865, Miss: 24, Size: 853
```
### ToDo
* Tests and benchmarks
* Metrics
* Dump and restore without reflection
* Build in GitHub Actions