Q1mi / BlogComments

9 stars 0 forks source link

Go语言操作Redis | 李文周的博客 #151

Open Q1mi opened 2 years ago

Q1mi commented 2 years ago

https://www.liwenzhou.com/posts/Go/redis/

李文周的Blog中本篇文章介绍了Redis的常用数据类型,以及如何使用Go语言的go-redis库连接redis(集群、哨兵等),执行redis基本命令、pipeline、事务和watch的用法。

Tianyi822 commented 2 years ago

请问一下,为什么在执行命令的时候需要传递一个 context 进去,源码里面没有看懂啥意思,比如 Ping 函数,这里将 context 传递进去后,感觉也没用上,那 context 在这意义是啥呢?

func (c cmdable) Ping(ctx context.Context) *StatusCmd {
    cmd := NewStatusCmd(ctx, "ping")
    _ = c(ctx, cmd)
    return cmd
}
Chasing987 commented 2 years ago

@Chentyit 请问一下,为什么在执行命令的时候需要传递一个 context 进去,源码里面没有看懂啥意思,比如 Ping 函数,这里将 context 传递进去后,感觉也没用上,那 context 在这意义是啥呢?

func (c cmdable) Ping(ctx context.Context) *StatusCmd {
  cmd := NewStatusCmd(ctx, "ping")
  _ = c(ctx, cmd)
  return cmd
}

在Go1.5版本后,通过context来控制goroutine,实现并发安全吧