gocache icon indicating copy to clipboard operation
gocache copied to clipboard

Get method doesn't work correctly for bigcache with string type.

Open ByungJun25 opened this issue 2 years ago • 1 comments

Description Hi,

Thank you for making the awesome library first.

The type casting code is wrong for bigcache with string type. Because bigcache always returns []byte type(refer here) even though we can store data as string type.

I think it is better if type casting is failed, it should return not only zero value but also error.

Steps for Reproduction

  1. Set up Bigcache with string type
func fn(config Config) {
  bigcacheClient, _ := bigcache.NewBigCache(bigcache.DefaultConfig(config.ExpiredTime))
  bigcacheStore := store.NewBigcache(bigcacheClient)

  memoryCache = cache.New[string](bigcacheStore)
}
  1. Set data
val := "some string data"
memoryCache.Set(ctx, key, val) // There is no error because it will be convert to byte array
  1. Get data
val, _ := memoryCache.Get(ctx, key) // There is no error but data is blank string.

Expected behavior: It should be return stored string data.

Actual behavior: It returned blank string.

Platforms: Ubuntu

Versions: v3.1.1

ByungJun25 avatar Aug 10 '22 14:08 ByungJun25

same issue

davidwudv avatar Aug 30 '22 12:08 davidwudv