This pull request introduces a new caching system with distinct implementations for write-heavy and read-heavy scenarios, along with corresponding tests and benchmarks. Additionally, it sets up a GitHub Actions workflow for continuous integration.
New Caching System:
cache.go: Added WriteHeavyCache and ReadHeavyCache types with methods for setting and getting values, including specialized integer caches with increment methods.
cache_test.go: Added comprehensive tests for the new cache types, including parallel write tests and benchmarks for performance evaluation.
Continuous Integration Setup:
.github/workflows/go.yml: Added a GitHub Actions workflow to run tests and vet the code on push events using Go 1.23.x.
Makefile: Added test, bench, and vet targets to facilitate testing, benchmarking, and code vetting.
Module Definition:
go.mod: Defined the module for the project and specified Go 1.23 as the version.
This pull request introduces a new caching system with distinct implementations for write-heavy and read-heavy scenarios, along with corresponding tests and benchmarks. Additionally, it sets up a GitHub Actions workflow for continuous integration.
New Caching System:
cache.go
: AddedWriteHeavyCache
andReadHeavyCache
types with methods for setting and getting values, including specialized integer caches with increment methods.cache_test.go
: Added comprehensive tests for the new cache types, including parallel write tests and benchmarks for performance evaluation.Continuous Integration Setup:
.github/workflows/go.yml
: Added a GitHub Actions workflow to run tests and vet the code on push events using Go 1.23.x.Makefile
: Addedtest
,bench
, andvet
targets to facilitate testing, benchmarking, and code vetting.Module Definition:
go.mod
: Defined the module for the project and specified Go 1.23 as the version.