4.4 调用Redis

4.4.1 简介

client/redis 包是对go-redis 进行二次封装,并提供redisStub和redisClusterStub 两种访问reids方式的客户端

4.4.2 配置规范

配置说明4.4 调用Redis - 图1

4.4.3 用法

访问redis示例4.4 调用Redis - 图2

  1. // run: go run main.go --config=config.toml
  2. type Engine struct {
  3. jupiter.Application
  4. }
  5. func NewEngine() *Engine {
  6. eng := &Engine{}
  7. if err := eng.Startup(
  8. eng.exampleForRedisStub,
  9. eng.exampleForRedisClusterStub,
  10. ); err != nil {
  11. xlog.Panic("startup", xlog.Any("err", err))
  12. }
  13. return eng
  14. }
  15. func main() {
  16. app := NewEngine()
  17. if err := app.Run(); err != nil {
  18. panic(err)
  19. }
  20. }
  21. func (eng *Engine) exampleForRedisStub() (err error) {
  22. //build redisStub
  23. redisStub := redis.StdRedisConfig("myredis").Build()
  24. // set string
  25. setRes := redisStub.Set("jupiter-redis", "redisStub", time.Second*5)
  26. xlog.Info("redisStub set string", xlog.Any("res", setRes))
  27. // get string
  28. getRes := redisStub.Get("jupiter-redis")
  29. xlog.Info("redisStub get string", xlog.Any("res", getRes))
  30. return
  31. }
  32. func (eng *Engine) exampleForRedisClusterStub() (err error) {
  33. //build redisClusterStub
  34. redisStub := redis.StdRedisClusterConfig("myredis").Build()
  35. // set string
  36. setRes := redisStub.Set("jupiter-redisCluster", "redisClusterStub", time.Second*5)
  37. xlog.Info("redisClusterStub set string", xlog.Any("res", setRes))
  38. // get string
  39. getRes := redisStub.Get("jupiter-redisCluster")
  40. xlog.Info("redisClusterStub get string", xlog.Any("res", getRes))
  41. return
  42. }

执行 go run main.go —config=config.toml,可以看到如下图结果 image