Welcome to GoRedis! This project aims to provide a Redis implementation in Go programming language, following the principles of Test-Driven Development (TDD). Redis is a popular in-memory data store used for caching, session management, and real-time analytics, among other use cases.
GoRedis currently supports the following features:
- PING: Check if the server is running.
- ECHO: Return the given string.
- GET: Retrieve the value of a key. (Work in progress)
- SET: Set the value of a key. (Work in progress)
- INFO: Get information and statistics about the server. (Work in progress)
- Replication: Support for replication. (Work in progress)
Test-Driven Development is a software development approach where tests are written before the actual code implementation. This ensures that the code is testable, and it helps in defining clear requirements and expectations for the functionality being developed.
Run Init Tests
This command runs the unit tests for the project. Unit tests are designed to test individual components of the codebase in isolation, ensuring that each part works correctly on its own.
make unit
Run Unit Test Coverage
This command calculates the test coverage for the unit tests. Test coverage indicates the percentage of code that is exercised by the unit tests. It helps identify areas of the codebase that may lack proper testing.
make cov
Run Benchmark Tests
This command executes benchmark tests for the project. Benchmark tests measure the performance of specific functions or algorithms, helping to identify potential performance bottlenecks or areas for optimization.
make bench
Run All Tests Above
This command runs all of the tests mentioned above in sequence.
make t
This is a starting point for Go solutions to the "Build Your Own Redis" Challenge.