Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/r3tr056/calod
CALOD: Because even the fastest cache can't outrun a bad algorithm. 😉
https://github.com/r3tr056/calod
cache cnpc fast rust storage
Last synced: 3 days ago
JSON representation
CALOD: Because even the fastest cache can't outrun a bad algorithm. 😉
- Host: GitHub
- URL: https://github.com/r3tr056/calod
- Owner: r3tr056
- Created: 2024-10-19T19:19:20.000Z (29 days ago)
- Default Branch: dev
- Last Pushed: 2024-10-21T19:00:40.000Z (27 days ago)
- Last Synced: 2024-10-22T11:34:13.678Z (26 days ago)
- Topics: cache, cnpc, fast, rust, storage
- Language: Rust
- Homepage: https://calod.ankurdebnath.live
- Size: 24.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# CALOD (Cache-a-lot-o-data)
![CALOD Logo](https://raw.githubusercontent.com/r3tr056/calod/refs/heads/dev/.github/images/logo.jpeg)
**CALOD** is an ultra-fast caching solution designed to handle a lot of data
with ultra-low latency network calls. With its predictive cache invalidation,
CALOD ensures that your applications can retrieve data quickly and efficiently,
enhancing performance and user experience.## Features
- **Ultra-Low Latency**: Experience minimal delays in data retrieval, making
your applications faster and more responsive.
- **Fast Caching**: Store and access data rapidly to improve the overall
efficiency of your applications.
- **Predictive Cache Invalidation**: Intelligently manage cache entries to
ensure your data is always fresh and relevant.## Getting Started
### Prerequisites
- **C Compiler**: Ensure you have a C compiler like `gcc` installed on your
machine.
- **Make**: Make sure you have `make` installed for building the project.### Installation
1. **Clone the repository:**
```bash
git clone https://github.com/r3tr056/CALOD.git
cd CALOD
```2. **Build CALOD:**
```bash
make
```3. **Configure CALOD**: Create a configuration file (e.g., `calod-config.json`)
with your desired settings. Below is a sample configuration:```json
{
"port": 8995,
"maxSize": 1000,
"predictiveInvalidation": true,
"ttl": 3600
}
```4. **Start CALOD server:**
```bash
./calod
```By default, CALOD runs on port **8995**. You can change the port in the
configuration file.5. **Access the CALOD API**: You can interact with CALOD via its REST API. By
default, it runs on `http://localhost:8995`.## Usage
### Basic Caching Example
You can interact with CALOD using HTTP requests. Below is an example using
`curl`:- **Set a cache item:**
```bash
curl -X POST http://localhost:8995/set \
-H "Content-Type: application/json" \
-d '{"key": "key1", "value": "value1", "ttl": 600}'
```- **Get a cache item:**
```bash
curl -X GET http://localhost:8995/get/key1
```- **Invalidate a cache item:**
```bash
curl -X DELETE http://localhost:8995/invalidate/key1
```### Advanced Configuration
Configure CALOD according to your needs by adjusting options in
`calod-config.json`:```json
{
"maxSize": 1000, // Maximum number of items in the cache
"predictiveInvalidation": true, // Enable predictive cache invalidation
"ttl": 3600 // Default time-to-live for cache items in seconds
}
```## Contributing
We welcome contributions! If you'd like to contribute to CALOD, please follow
these steps:1. Fork the repository.
2. Create your feature branch (`git checkout -b feature/AmazingFeature`).
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`).
4. Push to the branch (`git push origin feature/AmazingFeature`).
5. Open a pull request.## License
Distributed under the MIT License. See `LICENSE` for more information.
## Acknowledgments
- Inspired by the caching solutions that make our lives easier.
- Special thanks to all contributors and open-source communities!---
**CALOD**: Because You Can Never Have Too Much Data!