基本介绍

缓存组件同时提供了gcacheRedis缓存适配实现。Redis缓存在多节点保证缓存的数据一致性时非常有用,特别是Session共享、数据库查询缓存等场景中。

使用示例

  1. func ExampleCache_SetAdapter() {
  2. var (
  3. err error
  4. ctx = gctx.New()
  5. cache = gcache.New()
  6. redisConfig = &gredis.Config{
  7. Address: "127.0.0.1:6379",
  8. Db: 9,
  9. }
  10. cacheKey = `key`
  11. cacheValue = `value`
  12. )
  13. // Create redis client object.
  14. redis, err := gredis.New(redisConfig)
  15. if err != nil {
  16. panic(err)
  17. }
  18. // Create redis cache adapter and set it to cache object.
  19. cache.SetAdapter(gcache.NewAdapterRedis(redis))
  20. // Set and Get using cache object.
  21. err = cache.Set(ctx, cacheKey, cacheValue, time.Second)
  22. if err != nil {
  23. panic(err)
  24. }
  25. fmt.Println(cache.MustGet(ctx, cacheKey).String())
  26. // Get using redis client.
  27. fmt.Println(redis.MustDo(ctx, "GET", cacheKey).String())
  28. // Output:
  29. // value
  30. // value
  31. }