1. //下载redis
    2. go get github.com/gomodule/redigo/redis
    3. package main
    4. import (
    5. "fmt"
    6. "github.com/gomodule/redigo/redis"
    7. "reflect"
    8. )
    9. var pool *redis.Pool
    10. func init() {
    11. pool = &redis.Pool{
    12. MaxIdle: 16, //最初的连接数量
    13. MaxActive: 0,
    14. IdleTimeout: 300, //连接关闭时间
    15. Dial: func() (redis.Conn, error) {
    16. return redis.Dial("tcp", "127.0.0.1:6379")
    17. },
    18. }
    19. }
    20. //set存储参数
    21. func set(key, value interface{}) {
    22. //获取连接
    23. c := pool.Get()
    24. _, err := c.Do("set", key, value)
    25. if err != nil {
    26. fmt.Println(err)
    27. return
    28. }
    29. fmt.Println("set success")
    30. defer c.Close() //关闭连接
    31. }
    32. //Get获取参数
    33. func get(key string) (value interface{}) {
    34. c := pool.Get()
    35. value, err := redis.String(c.Do("Get", key))
    36. fmt.Println(reflect.TypeOf(value))
    37. if err != nil {
    38. fmt.Println(err)
    39. return 0
    40. }
    41. fmt.Println()
    42. defer c.Close()
    43. return
    44. }
    45. func setEx(key string, value interface{}, ex int64) {
    46. conn := pool.Get()
    47. _, err := conn.Do("SET", key, value, "EX", ex)
    48. if err != nil {
    49. fmt.Println(err)
    50. return
    51. }
    52. }
    53. func main() {
    54. set("name", "张三")
    55. get("name")
    56. //单位为秒
    57. setEx("userId", 1, 10)
    58. }