今天就跟大家聊聊有关如何进行Redigo源码浅析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。使用 Redigo 比较多,为了方便学习。进而阅读了它的源码,加深理解。这段代码主要是用来初始化 redis.Pool 的,顺着代码往下走。 用来获取连接池中的一个 conn 对象。首次连接:连接池在首次进入的时候是空的,会先进行自定义的 Dial 函数(匿名函数)进行连接,生成 conn 连接对象。 连接数+1,并返回连接池对象 poolConn。执行操作:从连接池中获取一个可用 conn 连接对象。 并通过 DoWithTimeout 函数向 conn 输出缓冲区写入数据。数据内容遵从 RESP 协议。关闭操作:1.因为 Get 拿到的是一个activeConn 对象,所以关闭连接调用的是 func (ac *activeConn) Close() 函数。2.首先会向 Redis 发送一个空字符的命令。(没懂意义何在)3.紧接着不是删除这次的链接而是把 conn 对象 put 到 idleList (双向链表实现) 的前驱节点上 链表的长度由 MaxIdle 所限定,超出则抛弃4.继续调用 conn 的 Close() 函数, 跳转到 net 的 Close() 函数5.通过 runtime.SetFinalizer(fd, nil) 解除绑定并执行对应函数下一次gc在进行 香港云主机清理 并关闭基础文件描述符看完上述内容,你们对如何进行Redigo源码浅析有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注开发云行业资讯频道,感谢大家的支持。
这篇文章将为大家详细讲解有关如何进行linux后台运行及关闭和查看后台任务,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。在日常开发过程中,除了例行调度的任务和直接在开发环境下比如Scripts,开发,很多情况下…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。