mirror of
https://github.com/d0zingcat/gocryptotrader.git
synced 2026-05-18 15:10:03 +00:00
* docs: Migrate development tracking from Trello to GitHub Projects * docs: Replace non-template based references and correct templates
68 lines
3.0 KiB
Markdown
68 lines
3.0 KiB
Markdown
# GoCryptoTrader package cache
|
|
|
|
<img src="https://github.com/thrasher-corp/gocryptotrader/blob/master/web/src/assets/page-logo.png?raw=true" width="350px" height="350px" hspace="70">
|
|
|
|
|
|
[](https://github.com/thrasher-corp/gocryptotrader/actions/workflows/tests.yml)
|
|
[](https://github.com/thrasher-corp/gocryptotrader/blob/master/LICENSE)
|
|
[](https://godoc.org/github.com/thrasher-corp/gocryptotrader/portfolio)
|
|
[](https://codecov.io/gh/thrasher-corp/gocryptotrader)
|
|
[](https://goreportcard.com/report/github.com/thrasher-corp/gocryptotrader)
|
|
|
|
|
|
This cache package is part of the GoCryptoTrader codebase.
|
|
|
|
## This is still in active development
|
|
|
|
You can track ideas, planned features and what's in progress on our [GoCryptoTrader Kanban board](https://github.com/orgs/thrasher-corp/projects/3).
|
|
|
|
Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://join.slack.com/t/gocryptotrader/shared_invite/enQtNTQ5NDAxMjA2Mjc5LTc5ZDE1ZTNiOGM3ZGMyMmY1NTAxYWZhODE0MWM5N2JlZDk1NDU0YTViYzk4NTk3OTRiMDQzNGQ1YTc4YmRlMTk)
|
|
|
|
## Current Features for cache package
|
|
|
|
+ Basic LRU cache system with both goroutine safe (via mutex locking) and non-goroutine safe options
|
|
|
|
## How to use
|
|
|
|
##### Basic Usage:
|
|
|
|
```go
|
|
package main
|
|
|
|
import ("github.com/thrasher-corp/gocryptotrader/common/cache")
|
|
|
|
func main() {
|
|
lruCache := cache.New(5)
|
|
lruCache.Add("hello", "world")
|
|
c := lruCache.Contains("hello")
|
|
if !c {
|
|
fmt.Println("expected cache to contain \"hello\" key")
|
|
}
|
|
|
|
v := lruCache.Get("hello")
|
|
if v == nil {
|
|
fmt.Println("expected cache to contain \"hello\" key")
|
|
}
|
|
fmt.Println(v)
|
|
}
|
|
```
|
|
## Contribution
|
|
|
|
Please feel free to submit any pull requests or suggest any desired features to be added.
|
|
|
|
When submitting a PR, please abide by our coding guidelines:
|
|
|
|
+ Code must adhere to the official Go [formatting](https://golang.org/doc/effective_go.html#formatting) guidelines (i.e. uses [gofmt](https://golang.org/cmd/gofmt/)).
|
|
+ Code must be documented adhering to the official Go [commentary](https://golang.org/doc/effective_go.html#commentary) guidelines.
|
|
+ Code must adhere to our [coding style](https://github.com/thrasher-corp/gocryptotrader/blob/master/doc/coding_style.md).
|
|
+ Pull requests need to be based on and opened against the `master` branch.
|
|
|
|
## Donations
|
|
|
|
<img src="https://github.com/thrasher-corp/gocryptotrader/blob/master/web/src/assets/donate.png?raw=true" hspace="70">
|
|
|
|
If this framework helped you in any way, or you would like to support the developers working on it, please donate Bitcoin to:
|
|
|
|
***bc1qk0jareu4jytc0cfrhr5wgshsq8282awpavfahc***
|
|
|