现在位置: 首页 > 数据库 > 文章
2020年02月20日 数据库 ⁄ 共 5772字 评论关闭
Go 语言是一种静态类型的编程语言,在 Go 编程语言中,数据类型用于声明函数和变量。数据类型的出现是为了把数据分成所需内存大小不同的数据,编程的时候需要用大数据的时候才需要申请大内存,就可以充分利用内存。编译器在进行编译的时候,就要知道每个值的类型,这样编译器就知道要为这个值分配多少内存,并且知道这段分配的内存表示什么。 基本数据类型说明 类型描述uint32位或64位uint8无符号 8 位整型 (0 到 255)uint16...
阅读全文
2020年02月20日 数据库 ⁄ 共 3370字 评论关闭
一、关于并发的基础知识 在讲goroutine的调度原理之前,有些与操作系统相关的知识,我们需要先知道,例如: 1.什么是并发? 并发:两个或两个以上的任务在一段时间内被执行。我们并不关心这些任务是否在同一时刻执行,我们只是知道,这些任务在这一段时间能能够都被执行,当然这一段时间可以很长,也可以很短。 2.并发的最小并发单位是什么? 进程是计算机资源分配最小的单位,是CPU分配资源的基本单位,具有独立的内存。 线程...
阅读全文
2020年02月20日 数据库 ⁄ 共 1983字 评论关闭
华为云CSE微服务引擎是业界首个商用的企业级微服务应用管理平台,包含微服务Java SDK、Go SDK、Mesher,为用户提供统一的服务注册、配置和治理控制台,可轻松实现微服务应用的快速开发和高效运维。 日前,华为云CSE(Cloud Service Engine)正式推出的产品级Go语言微服务框架Go Chassis。借助CSE Go Chassis进行微服务开发可最大化地降低开发门槛,提升产品上线速度,同时可以获得微服务运行时高可靠性保证、运行时动态治理等一系...
阅读全文
2020年02月20日 数据库 ⁄ 共 3426字 评论关闭
今天接到了一个从Excel内读取图片的需求,在网上查找了一些资料,基本实现了自己的需求,不过由于查到的一些代码比较久远,不能直接移植到自己的项目里,需要稍加改动一下。 这里介绍一下分别使用phpspreadsheet和PHPExcel扩展库来实现读取Excel内图片的功能: PHPSpreadsheet 首先安装phpspreadsheet,由于线上服务器PHP版本是PHP5.6,所以需要安装兼容PHP5.6的版本,这里安装1.8.2版本 composer require phpoffice/phpspreadsh...
阅读全文
2020年02月20日 数据库 ⁄ 共 2179字 评论关闭
前言 PHP 7.4增加了预加载支持,这一功能可以显着提高代码的性能。 这是一个简单的预加载: 为了预加载文件,您需要编写自定义PHP脚本此脚本在服务器启动时执行一次所有预加载的文件都可在内存中用于所有请求在重新启动服务器之前,对源文件所做的更改不会产生任何影响 让我们深入研究一下。 Opcache,但更多 虽然预加载是在顶级操作opcache上构建的,但它并不完全相同。Opcache将获取您的PHP源文件,将其编译为“操作码”,并将...
阅读全文
2020年02月20日 数据库 ⁄ 共 2736字 评论关闭
大约 80% 的 Web 应用程序由 PHP 提供支持。类似地,SQL 也是如此。PHP 5.5 版本之前,我们有用于访问 MySQL 数据库的 mysql_ 命令,但由于安全性不足,它们最终被弃用。 弃用这件事是发生在 2013 年的 PHP 5.5 上,我写这篇文章的时间是 2018 年,PHP 版本为 7.2。mysql_ 的弃用带来了访问数据库的两种主要方法:mysqli 和 PDO 库。 虽然 mysqli 库是官方指定的,但由于 mysqli 只能支持 mysql 数据库,而 PDO 可以支持 12 种...
阅读全文
2020年02月20日 数据库 ⁄ 共 737字 评论关闭
下面我们举个栗子: class Father { public static function getSelf() { return new self(); } public static function getStatic() { return new static(); }} class Son extends Father {} echo get_class(Son::getSelf()); // Fatherecho get_class(Son::getStatic()); // Sonecho get_class(Father::getSelf()); // Fatherecho get_class(Father::getStatic()); // Father new self 这里面注意这一行 get_clas...
阅读全文
2020年02月20日 数据库 ⁄ 共 4070字 评论关闭
前言 本节,我们重点关注系统协程是如何管理这些定器的,包括以下问题: 定时器使用什么数据结构存储?定时器如何触发事件?定时器如何添加进系统协程?定时器如何从系统协程中删除? 定时器存储 timer数据结构 Timer和Ticker数据结构除名字外完全一样,二者都含有一个runtimeTimer类型的成员,这个就是系统协程所维护的对象。runtimeTimer类型是time包的名称,在runtime包中,这个类型叫做timer。 timer数据结构如下所示: ty...
阅读全文
2020年02月20日 数据库 ⁄ 共 6190字 评论关闭
一、背景对于互联网应用和企业大型应用而言,多数都尽可能地要求做到7*24小时不间断运行,而要做到完全不间断运行可以说“难于上青天”。为此,对应用可用性程度的衡量标准一般有3个9到5个9。可用性指标计算方式不可用时间(分钟)99.9%0.1%*365*24*60525.699.99%0.01%*365*24*6052.5699.999%0.001%*365*24*605.256 对于一个功能和数据量不断增加的应用,要保持比较高的可用性并非易事。...
阅读全文
2020年02月20日 数据库 ⁄ 共 3184字 评论关闭
最近新做了个功能,在华为服务器上运行go的http服务时,看到监听的端口是ipv6 而在阿里云机器上,则是ipv4 恰好该端口telnet不通,误以为是这个原因(其实是华为服务器默认有安全组,只开放5901-5910段),顺便就研究了一下go在Linux上对IPv4/IPv6服务的方式。 先说结论 Go的 net.Listen() 函数,如果不强行指定 IPv4 或 IPv6 ,在双栈系统上(VPS 同时支持 IPv4 和 IPv6)默认只会监听 IPv6 地址。这不影响客户端使用 IPv4 ...
阅读全文