RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:8:30-17:00
你可能遇到了下面的问题
关闭右侧工具栏

新闻中心

这里有您想知道的互联网营销解决方案
用go语言绘制地鼠 用go语言绘制地鼠模型

letsgo皮卡丘固执适合那些宝可梦

伊布:很不错,技能打击面很广,性格推荐天真,物攻,特攻技能都带

10年积累的成都网站制作、网站设计经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先做网站设计后付款的网站建设流程,更有牧野免费网站建设让你可以放心的选择与我们合作。

2、喷火龙:还不错,可以考虑天真打双刀,爽朗变X喷,胆小变Y喷

3、地鼠:可以用来反制皮神,爽朗,配合地震,算是很高威力的技能了

4、胡地:算是这作的顶级输出了,性格必须胆小,最好物攻的个体值为0

5、呆壳兽:也不错,mega后是最硬的物盾了,建议大胆或者内敛好了

6、暴鲤龙:一直以来都不错,建议固执或者爽朗,没了龙舞其实不算很好用,但是很适合打一些超能系的精灵

使用Go实现一个数据库连接池

开始本文之前,我们看一段Go连接数据库的代码:

本文内容我们将解释连接池背后是如何工作的,并 探索 如何配置数据库能改变或优化其性能。

转自:

整理:地鼠文档:

那么sql.DB连接池是如何工作的呢?

需要理解的最重要一点是,sql.DB池包含两种类型的连接——“正在使用”连接和“空闲”连接。当您使用连接执行数据库任务(例如执行SQL语句或查询行)时,该连接被标记为正在使用,任务完成后,该连接被标记为空闲。

当您使用Go执行数据库操作时,它将首先检查池中是否有可用的空闲连接。如果有可用的连接,那么Go将重用这个现有连接,并在任务期间将其标记为正在使用。如果在您需要空闲连接时池中没有空闲连接,那么Go将创建一个新的连接。

当Go重用池中的空闲连接时,与该连接有关的任何问题都会被优雅地处理。异常连接将在放弃之前自动重试两次,这时Go将从池中删除异常连接并创建一个新的连接来执行该任务。

连接池有四个方法,我们可以使用它们来配置连接池的行为。让我们一个一个地来讨论。

SetMaxOpenConns()方法允许您设置池中“打开”连接(使用中+空闲连接)数量的上限。默认情况下,打开的连接数是无限的。

一般来说,MaxOpenConns设置得越大,可以并发执行的数据库查询就越多,连接池本身成为应用程序中的瓶颈的风险就越低。

但让它无限并不是最好的选择。默认情况下,PostgreSQL最多100个打开连接的硬限制,如果达到这个限制的话,它将导致pq驱动返回”sorry, too many clients already”错误。

为了避免这个错误,将池中打开的连接数量限制在100以下是有意义的,可以为其他需要使用PostgreSQL的应用程序或会话留下足够的空间。

设置MaxOpenConns限制的另一个好处是,它充当一个非常基本的限流器,防止数据库同时被大量任务压垮。

但设定上限有一个重要的警告。如果达到MaxOpenConns限制,并且所有连接都在使用中,那么任何新的数据库任务将被迫等待,直到有连接空闲。在我们的API上下文中,用户的HTTP请求可能在等待空闲连接时无限期地“挂起”。因此,为了缓解这种情况,使用上下文为数据库任务设置超时是很重要的。我们将在书的后面解释如何处理。

SetMaxIdleConns()方法的作用是:设置池中空闲连接数的上限。缺省情况下,最大空闲连接数为2。

理论上,在池中允许更多的空闲连接将增加性能。因为它减少了从头建立新连接发生概率—,因此有助于节省资源。

但要意识到保持空闲连接是有代价的。它占用了本来可以用于应用程序和数据库的内存,而且如果一个连接空闲时间过长,它也可能变得不可用。例如,默认情况下MySQL会自动关闭任何8小时未使用的连接。

因此,与使用更小的空闲连接池相比,将MaxIdleConns设置得过高可能会导致更多的连接变得不可用,浪费资源。因此保持适量的空闲连接是必要的。理想情况下,你只希望保持一个连接空闲,可以快速使用。

另一件要指出的事情是MaxIdleConns值应该总是小于或等于MaxOpenConns。Go会强制保证这点,并在必要时自动减少MaxIdleConns值。

SetConnMaxLifetime()方法用于设置ConnMaxLifetime的极限值,表示一个连接保持可用的最长时间。默认连接的存活时间没有限制,永久可用。

如果设置ConnMaxLifetime的值为1小时,意味着所有的连接在创建后,经过一个小时就会被标记为失效连接,标志后就不可复用。但需要注意:

理论上,ConnMaxLifetime为无限大(或设置为很长生命周期)将提升性能,因为这样可以减少新建连接。但是在某些情况下,设置短期存活时间有用。比如:

如果您决定对连接池设置ConnMaxLifetime,那么一定要记住连接过期(然后重新创建)的频率。例如,如果连接池中有100个打开的连接,而ConnMaxLifetime为1分钟,那么您的应用程序平均每秒可以杀死并重新创建多达1.67个连接。您不希望频率太大而最终影响性能吧。

SetConnMaxIdleTime()方法在Go 1.15版本引入对ConnMaxIdleTime进行配置。其效果和ConnMaxLifeTime类似,但这里设置的是:在被标记为失效之前一个连接最长空闲时间。例如,如果我们将ConnMaxIdleTime设置为1小时,那么自上次使用以后在池中空闲了1小时的任何连接都将被标记为过期并被后台清理操作删除。

这个配置非常有用,因为它意味着我们可以对池中空闲连接的数量设置相对较高的限制,但可以通过删除不再真正使用的空闲连接来周期性地释放资源。

所以有很多信息要吸收。这在实践中意味着什么?我们把以上所有的内容总结成一些可行的要点。

1、根据经验,您应该显式地设置MaxOpenConns值。这个值应该低于数据库和操作系统对连接数量的硬性限制,您还可以考虑将其保持在相当低的水平,以充当基本的限流作用。

对于本书中的项目,我们将MaxOpenConns限制为25个连接。我发现这对于小型到中型的web应用程序和API来说是一个合理的初始值,但理想情况下,您应该根据基准测试和压测结果调整这个值。

2、通常,更大的MaxOpenConns和MaxIdleConns值会带来更好的性能。但是,效果是逐渐降低的,而且您应该注意,太多的空闲连接(连接没有被复用)实际上会导致性能下降和不必要的资源消耗。

因为MaxIdleConns应该总是小于或等于MaxOpenConns,所以对于这个项目,我们还将MaxIdleConns限制为25个连接。

3、为了降低上面第2点的风险,通常应该设置ConnMaxIdleTime值来删除长时间未使用的空闲连接。在这个项目中,我们将设置ConnMaxIdleTime持续时间为15分钟。

4、ConnMaxLifetime默认设置为无限大是可以的,除非您的数据库对连接生命周期施加了硬限制,或者您需要它协助一些操作,比如优雅地交换数据库。这些都不适用于本项目,所以我们将保留这个默认的无限制配置。

与其硬编码这些配置,不如更新cmd/api/main.go文件通过命令行参数读取配置。

ConnMaxIdleTime值比较有意思,因为我们希望它传递一段时间,最终需要将其转换为Go的time.Duration类型。这里有几个选择:

1、我们可以使用一个整数来表示秒(或分钟)的数量,并将其转换为time.Duration。

2、我们可以使用一个表示持续时间的字符串——比如“5s”(5秒)或“10m”(10分钟)——然后使用time.ParseDuration()函数解析它。

3、两种方法都可以很好地工作,但是在这个项目中我们将使用选项2。继续并更新cmd/api/main.go文件如下:

File: cmd/api/main.go

幼儿园小班教案《打地鼠》

作为一位不辞辛劳的人民教师,总不可避免地需要编写教案,通过教案准备可以更好地根据具体情况对教学进程做适当的必要的调整。写教案需要注意哪些格式呢?下面是我整理的幼儿园小班教案《打地鼠》,欢迎大家借鉴与参考,希望对大家有所帮助。

幼儿园小班教案《打地鼠》1

课题: 打地鼠

教学内容:游戏―打

地鼠

教学目的:

1、 通过这个游戏,学习鼠标单击

2、 训练学生掌握鼠标的使用方法

3、 培养学生的探索精神,和保护庄稼的意识。

教学构想:

1、 了解鼠标的左键和右键,怎样正确的使用鼠标。

2、 讨论怎样拿鼠标是正确的,食指、中指其他手指的分工。

3、 学习鼠标的使用,认识鼠标的标准指针。

4、 介绍游戏规则、使用方法。

5、 学生练习使用鼠标单击。

6、 学习怎样打开《打地鼠》的小软件:双击

7、 学习使用方法在菜单中单击按钮go

8、 移动鼠标以小锤对准目标单击鼠标,打击地鼠。

9、 进入后有10次机会每击中一个地鼠hits增加1分,

10、 进入难度提高阶段学会观察积分和计时,在进入以后15秒的计时time不断的减少一直到0,十次击中机会total的数目会不断的减少到0还没有集中会出现负数。

11、 在规定的'时间内,看哪个人打到的地鼠最多。全班一起比赛。

12、 用余下的时间向大家介绍一个保护牙齿的游戏,要求同学们自己研究,看能不能会玩,回家查阅有关保护牙齿的资料。

幼儿园小班教案《打地鼠》2

活动目标:

1、清楚并遵守打地鼠的游戏规则,体验打地鼠的快乐。

2、能快速发现地鼠,敏捷地前去打地鼠。

3、能积极参加游戏活动,并学会自我保护。

4、愿意与同伴、老师互动,喜欢表达自己的想法。

活动准备:

轮胎若干,枕头若干

活动过程:

一、热身运动

教师带领幼儿做小地鼠模仿操,活动活动筋骨。

师:今天我们来玩打地鼠的游戏,你们玩过吗?那你们知道地鼠是怎样走路的吗?我们一起来模仿一下地鼠走路。

二、基本部分

1、介绍游戏规则。

用三个轮胎叠在一起,摆成多个地鼠洞,请部分幼儿站在轮胎里面当地鼠,另一部分幼儿当打地鼠的人,用枕头去打地鼠,被打到的地鼠就蹲在下面,完了之后又站起来(提醒幼儿不能一直蹲在轮胎里面),如此循环,看谁的反应最快,打到的地鼠最多。教师根据幼儿游戏情况,交换游戏角色。

2、幼儿尝试游戏。

幼儿进行游戏,教师观察幼儿游戏情况。

3、教师再次强调游戏规则。

教师根据幼儿游戏情况进行点评,再次强调游戏规则

3、幼儿交换游戏角色,再次游戏。

请扮演地鼠和打地鼠的幼儿对调游戏角色。

三、结束部分

1、教师小结

师:今天打地鼠开心吗?你们打到了多少地鼠呀,有的小朋友表现得很棒,我们下次再玩,好吗?走,现在我们把打到的地鼠抬回家。

2、教师带领幼儿坐在轮胎上面,做捶捶背、踢踢腿等放松活动。

3、教师组织幼儿收轮胎。

宝可梦letsgo地鼠洞怎么进

宝可梦letsgo地鼠洞进入方法,是地鼠和三地鼠一起挖的长长的隧道,可以在11号道路的洞口和2号道路的洞口进入。

《宝可梦》是GameFreak开发的NintendoSwitch角色扮演游戏,并于同年11月15日在全球同步发行,游戏舞台被设定在以英国为原型的伽勒尔地区,但是游戏中伽勒尔地区南部对应的是现实中大不列颠岛的北部。

游戏攻略:

获得钻石的一点小心得看到那个老虎机木有,那个是可以通过下注来获得钻石的哈稳赚不赔的,不过赚取的钻石是随机的有高有低,下注的钻石是系统设置好的。

除此之外呢大家通过签到,升级奖励等来获得钻石,还有现在删档测试期间的各种奖励获得钻石,对了,满星通关副本也是会有钻石奖励的哦。

提升宠物能力除了提升精灵技能跟等级外,还可以通过养成系统中的勋章,符文等来提升小伙伴的全面战力哦,点击精灵的潜能激发,更能提升宠物的物防,宠物进阶进化以及刷新技能也是能大大增强宠物的能力的,大家是不是觉得小编是手抖打多一个进阶呢。

你们这样认为就错了,目前游戏的确是可以进行进化以及进阶的,进阶可是会影响到宠物的各个属性呢,进化后的宠物会增加星数,而且属性也会大幅度增加,大家记得多多参与活动,多获取材料才能进化哦。


新闻标题:用go语言绘制地鼠 用go语言绘制地鼠模型
文章转载:http://cqwzjz.cn/article/hihoge.html