mirror of
https://github.com/grassrootseconomics/eth-tracker.git
synced 2025-02-23 16:08:42 +01:00
commit05d142664d
Author: Mohamed Sohail 天明 <sohailsameja@gmail.com> Date: Mon Oct 7 15:12:58 2024 +0300 feat: handle contract creation (#43) * feat: add contract creation handler * fix: process contract creations * fix: redis keys name commit4b2ad3daf9
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon Oct 7 15:12:15 2024 +0300 build(deps): bump github.com/knadh/koanf/providers/env (#37) Bumps [github.com/knadh/koanf/providers/env](https://github.com/knadh/koanf) from 0.1.0 to 1.0.0. - [Release notes](https://github.com/knadh/koanf/releases) - [Commits](https://github.com/knadh/koanf/compare/v0.1.0...v1.0.0) --- updated-dependencies: - dependency-name: github.com/knadh/koanf/providers/env dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commitf1086fcdc1
Author: Mohamed Sohail 天明 <sohailsameja@gmail.com> Date: Mon Oct 7 10:07:11 2024 +0300 feat: optimize exists to check multiple keys in one call (#40) * closes #32 commitfd59d286f5
Author: Mohammed Sohail <sohailsameja@gmail.com> Date: Mon Oct 7 09:49:01 2024 +0300 feat: add custodial registration proxy handler
44 lines
721 B
Go
44 lines
721 B
Go
package cache
|
|
|
|
import (
|
|
"context"
|
|
"log/slog"
|
|
)
|
|
|
|
type (
|
|
Cache interface {
|
|
Add(context.Context, string) error
|
|
Remove(context.Context, string) error
|
|
Exists(context.Context, ...string) (bool, error)
|
|
Size(context.Context) (int64, error)
|
|
}
|
|
|
|
CacheOpts struct {
|
|
Logg *slog.Logger
|
|
RedisDSN string
|
|
CacheType string
|
|
}
|
|
)
|
|
|
|
func New(o CacheOpts) (Cache, error) {
|
|
var cache Cache
|
|
|
|
switch o.CacheType {
|
|
case "map":
|
|
cache = NewMapCache()
|
|
case "redis":
|
|
redisCache, err := NewRedisCache(redisOpts{
|
|
DSN: o.RedisDSN,
|
|
})
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
cache = redisCache
|
|
default:
|
|
cache = NewMapCache()
|
|
o.Logg.Warn("invalid cache type, using default type (map)")
|
|
}
|
|
|
|
return cache, nil
|
|
}
|