// // cache_test.go // Copyright (C) 2023 tiglog // // Distributed under terms of the MIT license. // package gcache_test import ( "os" "testing" "time" "git.hexq.cn/tiglog/golib/gcache" "git.hexq.cn/tiglog/golib/gtest" "github.com/redis/go-redis/v9" ) var sample_name = "golib gcache" func TestRedisCache(t *testing.T) { REDIS_URL := os.Getenv("REDIS_URL") // fmt.Println(REDIS_URL) redisOpt, err := redis.ParseURL(REDIS_URL) gtest.Nil(t, err) var store gcache.ICache = gcache.NewRedisStore(gcache.RCClientOptions(redisOpt)) var sampleData = []byte(sample_name) err = store.Set("name", sampleData, time.Minute*1) gtest.Nil(t, err) r1, err := store.Get("name") gtest.Nil(t, err) gtest.Equal(t, string(r1), sample_name) } func TestMemoryCache(t *testing.T) { store := gcache.NewMemoryStore() var err error var sampleData = []byte(sample_name) err = store.Set("name", sampleData, time.Minute*1) gtest.Nil(t, err) r1, err := store.Get("name") gtest.Nil(t, err) gtest.Equal(t, string(r1), sample_name) }