使用canvas时,除非使用默认的大小,否则一定要注意给canvas元素设置width和height属性,包括vue动态设置等,如果只设置样式的width和height, c...
使用canvas时,除非使用默认的大小,否则一定要注意给canvas元素设置width和height属性,包括vue动态设置等,如果只设置样式的width和height, c...
a. 去除顶部标题栏:Android - How to remove the title bar from your application activity | sebha...
系统命令 接口命令
交换机接口模式:1:access:接口用于连接终端,例如pc、打印机等设备2:trunk: 用于连接其它交换机 交换机接口命令: 三层交换(为vlan划分ip)
内网(也称为私有网络)的IP地址段是专门为组织内部使用而保留的地址范围,不会在互联网上公开路由。这些地址段通常用于家庭、学校和企业网络。 IPv4IPv4地址由32位二进制数...
1、先拖入S5700,右键启动,如果交换机没问题的话 2、用管理员身份运行Windows PowerShell 3、输入:bcdedit /set hypervisorlau...
引入注释类,后面用来声明一些方法 定义一个java对象,这个对象传递给webview, 就可以在网页里面调用该对象的方法了 webview需要实例化该对象,第二个参数是定义对...
一、引言 Android webview是不会默认实现web里的 的选择文件功能,要想实现web的选择文件功能需要webview做一定的处理。 二、功能实现 重写 WebCh...
背景 根据 百度谷歌, 我们知道如果要在Vue项目中跳转其他网站, 只能通过 标签, 而RouteLink组件只能跳转相对路径. 所以如果要跳转外链, 只能写死 , 但在我的...
写在前面 关于前端性能优化的文章非常多,写浏览器关键渲染路径的也不少,但总是感觉哪里错了或者哪里疏忽了,于是自己写一篇,同时也是最近面试的一篇总结~下面分别从浏览器渲染过程,...
0是标准输入1是标准输出2是标准错误输出">" 符号是2的也输出到1中间的&应该是取1的地址 /dev/null是黑洞 最后的& 告诉 shell 在后台启动命令,并将其保留...
写得可以,帮到了我 : )
Go语言实现HMACSHA1加密首先来说说SHA1加密 SHA-1(英语:Secure Hash Algorithm 1,中文名:安全散列算法1)是一种密码散列函数,美国国家安全局设计,并由美国国家标准技术...
首先来说说SHA1加密 SHA-1(英语:Secure Hash Algorithm 1,中文名:安全散列算法1)是一种密码散列函数,美国国家安全局设计,并由美国国家标准技术...
@c10e5c6c7a46 package mysql8
mysql8是我定义的一个包
import (
"database/sql"
"fmt"
"log"
"net/url"
"strconv"
"time"
"reing/config"
"gorm.io/driver/mysql"
"gorm.io/gorm"
)
var Conn *gorm.DB
func get_mysql_conn() (*gorm.DB, error) {
dsn := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=%s&parseTime=%s&loc=%s",
MysqlUsername,
MysqlPassword,
MysqlHost,
MysqlPort,
MysqlSchema,
MysqlCharset,
strconv.FormatBool(MysqlParseTime),
url.QueryEscape(config.TimeZone),
)
return gorm.Open(mysql.Open(dsn), &gorm.Config{})
}
func get_conn_pool(conn *gorm.DB) error {
var connPool *sql.DB
connPool, err := conn.DB()
if err != nil {
return err
}
// 设置最大空闲连接数,防止应用占用太多空闲连接
connPool.SetMaxIdleConns(10)
// 设置最大连接数,如果设置为n,当数据库中已有n个数据库请求正在执行时,此时如果有第n+1个数据库请求,
// 则必须等待前面的请求处理完成,而不是直接创建一个新的链接
connPool.SetMaxOpenConns(100)
// 最大连接数的设置,必须要大于最大可空闲连接数
// 一个链接的最大存活时长
// 假如存活时长到了,但是该链接还在执行着查询,则会等待执行完毕再断开该链接,否则直接断开该链接
connPool.SetConnMaxLifetime(time.Minute * 3)
return nil
}
func init() {
t1 := time.Now().UnixMilli()
conn, err := get_mysql_conn()
if err != nil {
log.Fatalln("创建myslq链接失败: " + err.Error())
return
}
err = get_conn_pool(conn)
if err != nil {
log.Fatalln("使用mysql链接创建连接池失败: " + err.Error())
return
}
t2 := time.Now().UnixMilli()
Conn = conn
fmt.Printf("初始化mysql连接成功, 用时 %v 毫秒\n", t2-t1)
}
探索gorm的连接方式首先写一段源码: 首先将程序跑起来,然后每请求一次,用 查看mysql的连接数会不会增加,以此确定gorm.Open函数会不会复用已有的链接请求了4次后的效果: 很明显,go...