localcache.go 763 B

12345678910111213141516171819202122232425262728293031323334353637
  1. package localcache
  2. import (
  3. "git.shuncheng.lu/bigthing/gocommon/pkg/conf"
  4. )
  5. const (
  6. localCacheName = "localcache"
  7. refreshTime = "refresh_time"
  8. )
  9. var (
  10. defaultCache *localCache
  11. )
  12. func Init() error {
  13. time := conf.GetInt64(localCacheName, refreshTime, defaultRefreshTime)
  14. defaultCache = NewLocalCache(func(cache *localCache) {
  15. cache.defaultRefreshTime = time
  16. })
  17. return nil
  18. }
  19. func Register(configName string, refresh Refresh) {
  20. defaultCache.Register(configName, refresh)
  21. }
  22. // 注意类型,强一致,比如int64 ,必须key是int64才能get到,int不行
  23. func Get(cacheName string, keyName interface{}) interface{} {
  24. return defaultCache.Get(cacheName, keyName)
  25. }
  26. // 启动
  27. func Start() error {
  28. defaultCache.Start() // 启动
  29. return nil
  30. }