Skip to content

divy-sh/animus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

139 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

animus

Build and Test GoDoc License

Animus is an in-memory database (like Redis) written in Go. It offers a lightweight, high-performance storage solution with support for various commands and data structures.

To see all the supported commands, go to doc.go file.

Features

  • Expiration Mechanism: Support for TTL (Time-to-Live) and expiry policies.
  • Data Types: Support for strings, lists, hashes, and advanced data structures.
  • Key Management: Automatic key expiration, deletion, and manipulation.
  • Concurrency: Optimized for high concurrency and scalability.

Roadmap

The following features are planned for future releases:

  • Configuration Support: Allow users to configure expirations, max memory, etc.
  • Key Locking: Implement pools for key locks to handle high memory usage and key-based locking for essentials.
  • Advanced Data Structures: Expand support for additional data structures like sets, sorted sets, and more.
  • Replication: Master-slave replication to enable high availability and fault tolerance.
  • Pub/Sub: Real-time messaging with Publish/Subscribe functionality.
  • Performance Optimizations: Optimizations to the event loop for enhanced performance.
  • Clustering & Sharding: Scalable architecture with clustering and sharding.

Test Coverage

  • Test coverage can be verified by generating a cover.html file.

  • To generate the cover.html file, run these commands:

go test -v -coverprofile cover.out ./...
go tool cover -html cover.out -o cover.html

Release

Latest releases can be found here - https://pkg.go.dev/github.com/divy-sh/animus

Release Notes

v0.0.1

v0.0.2

v0.0.3

  • Add these functions
    • GETSET, INCR, INCRBY, INCRBYFLOAT

v0.1.0

  • Add many other commands, details can be found in doc.go file.

License

Animus is licensed under the GNU General Public License v3.0 (GPL-3.0). See the LICENSE file for more information.

About

Animus is an in-memory database (like redis) written in go.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors