├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ ├── feature_request.md │ └── question.md └── workflows │ ├── bench.yml │ ├── cloc.yml │ ├── golangci-lint.yml │ ├── gorelease.yml │ └── test-unit.yml ├── .gitignore ├── .golangci.yml ├── LICENSE ├── Makefile ├── README.md ├── _benchmark ├── README.md ├── bench_test.go ├── bigcache.go ├── fastcache.go ├── freecache.go ├── go.mod ├── go.sum ├── patricmn.go ├── report_ryzen7_5800H_windows_go1.18.2.txt ├── report_ryzen7_5800H_windows_go1.25.1.txt ├── ristretto.go ├── singleflight_test.go └── xsync.go ├── bench ├── bench.go ├── bench_go1.18.go ├── bench_test.go ├── doc.go ├── failover.go ├── failover_go1.18.go ├── mutex_map.go ├── readwriter.go ├── readwriter_go1.18.go ├── sharded_map.go ├── sharded_map_go1.18.go ├── sync_map.go ├── value.go └── value_test.go ├── benchmark_test.go ├── binary.go ├── binary_test.go ├── cache.go ├── cache_go1.18.go ├── config.go ├── context.go ├── context_test.go ├── dev_test.go ├── doc.go ├── error.go ├── error_go1.18.go ├── evict_go1.18_test.go ├── evict_test.go ├── example_failover_go1.18_test.go ├── example_failover_test.go ├── example_go1.18_test.go ├── example_test.go ├── failover.go ├── failover_go1.18.go ├── failover_go1.18_test.go ├── failover_test.go ├── go.mod ├── go.sum ├── gob.go ├── gob_test.go ├── http.go ├── http_example_go1.18_test.go ├── http_example_test.go ├── http_test.go ├── invalidator.go ├── invalidator_test.go ├── log.go ├── log_test.go ├── noop.go ├── noop_go1.18.go ├── noop_test.go ├── sharded_map.go ├── sharded_map_go1.18.go ├── sharded_map_go1.18_test.go ├── sharded_map_test.go ├── stats.go ├── stats_test.go ├── sync_map.go ├── sync_map_test.go ├── trait.go └── trait_go1.18.go /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/.github/ISSUE_TEMPLATE/bug_report.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/.github/ISSUE_TEMPLATE/feature_request.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/question.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/.github/ISSUE_TEMPLATE/question.md -------------------------------------------------------------------------------- /.github/workflows/bench.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/.github/workflows/bench.yml -------------------------------------------------------------------------------- /.github/workflows/cloc.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/.github/workflows/cloc.yml -------------------------------------------------------------------------------- /.github/workflows/golangci-lint.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/.github/workflows/golangci-lint.yml -------------------------------------------------------------------------------- /.github/workflows/gorelease.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/.github/workflows/gorelease.yml -------------------------------------------------------------------------------- /.github/workflows/test-unit.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/.github/workflows/test-unit.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /.idea 2 | /*.coverprofile 3 | /.vscode 4 | /bench-*.txt 5 | /vendor 6 | -------------------------------------------------------------------------------- /.golangci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/.golangci.yml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/README.md -------------------------------------------------------------------------------- /_benchmark/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/_benchmark/README.md -------------------------------------------------------------------------------- /_benchmark/bench_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/_benchmark/bench_test.go -------------------------------------------------------------------------------- /_benchmark/bigcache.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/_benchmark/bigcache.go -------------------------------------------------------------------------------- /_benchmark/fastcache.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/_benchmark/fastcache.go -------------------------------------------------------------------------------- /_benchmark/freecache.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/_benchmark/freecache.go -------------------------------------------------------------------------------- /_benchmark/go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/_benchmark/go.mod -------------------------------------------------------------------------------- /_benchmark/go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/_benchmark/go.sum -------------------------------------------------------------------------------- /_benchmark/patricmn.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/_benchmark/patricmn.go -------------------------------------------------------------------------------- /_benchmark/report_ryzen7_5800H_windows_go1.18.2.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/_benchmark/report_ryzen7_5800H_windows_go1.18.2.txt -------------------------------------------------------------------------------- /_benchmark/report_ryzen7_5800H_windows_go1.25.1.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/_benchmark/report_ryzen7_5800H_windows_go1.25.1.txt -------------------------------------------------------------------------------- /_benchmark/ristretto.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/_benchmark/ristretto.go -------------------------------------------------------------------------------- /_benchmark/singleflight_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/_benchmark/singleflight_test.go -------------------------------------------------------------------------------- /_benchmark/xsync.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/_benchmark/xsync.go -------------------------------------------------------------------------------- /bench/bench.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/bench/bench.go -------------------------------------------------------------------------------- /bench/bench_go1.18.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/bench/bench_go1.18.go -------------------------------------------------------------------------------- /bench/bench_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/bench/bench_test.go -------------------------------------------------------------------------------- /bench/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/bench/doc.go -------------------------------------------------------------------------------- /bench/failover.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/bench/failover.go -------------------------------------------------------------------------------- /bench/failover_go1.18.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/bench/failover_go1.18.go -------------------------------------------------------------------------------- /bench/mutex_map.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/bench/mutex_map.go -------------------------------------------------------------------------------- /bench/readwriter.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/bench/readwriter.go -------------------------------------------------------------------------------- /bench/readwriter_go1.18.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/bench/readwriter_go1.18.go -------------------------------------------------------------------------------- /bench/sharded_map.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/bench/sharded_map.go -------------------------------------------------------------------------------- /bench/sharded_map_go1.18.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/bench/sharded_map_go1.18.go -------------------------------------------------------------------------------- /bench/sync_map.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/bench/sync_map.go -------------------------------------------------------------------------------- /bench/value.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/bench/value.go -------------------------------------------------------------------------------- /bench/value_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/bench/value_test.go -------------------------------------------------------------------------------- /benchmark_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/benchmark_test.go -------------------------------------------------------------------------------- /binary.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/binary.go -------------------------------------------------------------------------------- /binary_test.go: -------------------------------------------------------------------------------- 1 | package cache_test 2 | -------------------------------------------------------------------------------- /cache.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/cache.go -------------------------------------------------------------------------------- /cache_go1.18.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/cache_go1.18.go -------------------------------------------------------------------------------- /config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/config.go -------------------------------------------------------------------------------- /context.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/context.go -------------------------------------------------------------------------------- /context_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/context_test.go -------------------------------------------------------------------------------- /dev_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/dev_test.go -------------------------------------------------------------------------------- /doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/doc.go -------------------------------------------------------------------------------- /error.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/error.go -------------------------------------------------------------------------------- /error_go1.18.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/error_go1.18.go -------------------------------------------------------------------------------- /evict_go1.18_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/evict_go1.18_test.go -------------------------------------------------------------------------------- /evict_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/evict_test.go -------------------------------------------------------------------------------- /example_failover_go1.18_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/example_failover_go1.18_test.go -------------------------------------------------------------------------------- /example_failover_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/example_failover_test.go -------------------------------------------------------------------------------- /example_go1.18_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/example_go1.18_test.go -------------------------------------------------------------------------------- /example_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/example_test.go -------------------------------------------------------------------------------- /failover.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/failover.go -------------------------------------------------------------------------------- /failover_go1.18.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/failover_go1.18.go -------------------------------------------------------------------------------- /failover_go1.18_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/failover_go1.18_test.go -------------------------------------------------------------------------------- /failover_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/failover_test.go -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/go.sum -------------------------------------------------------------------------------- /gob.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/gob.go -------------------------------------------------------------------------------- /gob_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/gob_test.go -------------------------------------------------------------------------------- /http.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/http.go -------------------------------------------------------------------------------- /http_example_go1.18_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/http_example_go1.18_test.go -------------------------------------------------------------------------------- /http_example_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/http_example_test.go -------------------------------------------------------------------------------- /http_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/http_test.go -------------------------------------------------------------------------------- /invalidator.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/invalidator.go -------------------------------------------------------------------------------- /invalidator_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/invalidator_test.go -------------------------------------------------------------------------------- /log.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/log.go -------------------------------------------------------------------------------- /log_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/log_test.go -------------------------------------------------------------------------------- /noop.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/noop.go -------------------------------------------------------------------------------- /noop_go1.18.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/noop_go1.18.go -------------------------------------------------------------------------------- /noop_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/noop_test.go -------------------------------------------------------------------------------- /sharded_map.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/sharded_map.go -------------------------------------------------------------------------------- /sharded_map_go1.18.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/sharded_map_go1.18.go -------------------------------------------------------------------------------- /sharded_map_go1.18_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/sharded_map_go1.18_test.go -------------------------------------------------------------------------------- /sharded_map_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/sharded_map_test.go -------------------------------------------------------------------------------- /stats.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/stats.go -------------------------------------------------------------------------------- /stats_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/stats_test.go -------------------------------------------------------------------------------- /sync_map.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/sync_map.go -------------------------------------------------------------------------------- /sync_map_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/sync_map_test.go -------------------------------------------------------------------------------- /trait.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/trait.go -------------------------------------------------------------------------------- /trait_go1.18.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bool64/cache/HEAD/trait_go1.18.go --------------------------------------------------------------------------------