github.com/jtzjtz/kit@v1.0.2/conn/redis_pool/README.md (about)

     1  ## Redis 连接池
     2  
     3  #### 配置
     4  
     5  #### 导入
     6  
     7  ```go
     8  import "github.com/jtzjtz/kit/conn/redis_pool"
     9  ```
    10  
    11  #### 初始化
    12  
    13  ```go
    14  func main()  {
    15     options := &redis_pool.Options{
    16         Host:               "127.0.0.1:6379",
    17         PassWord:           "",
    18         Database:           0,
    19         InitCap:            10,
    20         MaxCap:             100,
    21         IsWait:             true,
    22         IdleTimeout:        5 * time.Second,
    23         DialConnectTimeout: 5 * time.Second,
    24         DialReadTimeout:    5 * time.Second,
    25         DialWriteTimeout:   5 * time.Second,
    26     }
    27     p, err := redis_pool.NewRedisPool(options)
    28  
    29     redis := p.Get()
    30  
    31     r, err := redis.Do("ping")
    32     if err != nil {
    33        log.Println("[ERROR] ping redis fail", err)
    34     }
    35     
    36     fmt.Println(r)
    37  }
    38  ```
    39  
    40  #### 依赖
    41  
    42  - redigo:github.com/gomodule/redigo
    43  
    44  #### 压测
    45  
    46  Docker 环境:
    47  
    48  - 内存 1G 
    49  - CPU 单核 
    50  
    51  wrk 压测工具:
    52  
    53  - -c 跟服务器建立并保持的TCP连接数量
    54  - -d 压测时间
    55  - -t 使用多少个线程进行压测
    56  
    57  
    58  调用 redis:
    59  
    60  ```
    61  wrk -c100 -d30s -t4 http://127.0.0.1:8001/
    62  
    63  
    64  ```
    65