摘要:
InnoDB 事务的ACID如何保证,redo log重做日志,undo log回滚日志,LSN,CSR(自动故障恢复)过程,LSN :日志序列号TXID:事务ID,CKPT(Checkpoint) 阅读全文
摘要:
https://downloads.mysql.com/archives/community/ 4.5 MySQL 5.7.26 二进制版本安装 4.5.1 下载并上传软件至/server/tools [root@db01 ~]# mkdir -p /server/tools [root@db01 阅读全文
摘要:
golang监听消息队列rabbitmq任务脚本,当rabbimq消息队列断开连接后自动重试,重新唤起协程执行任务 阅读全文
摘要:
在本文发表数日前,我曾写了一篇文章来解释通道的规则。 那篇文章在reddit和HN上获得了很多点赞,但也有很多人对Go通道的细节设计提出了一些批评意见。 这些批评主要针对于通道设计中的下列细节: 没有一个简单和通用的方法用来在不改变一个通道的状态的情况下检查这个通道是否已经关闭。 关闭一个已经关闭的 阅读全文
摘要:
在阅读本文之前,请先阅读通道一文。 那篇文章详细地解释了通道类型和通道值,以及各种通道操作的规则细节。 一个Go新手程序员可能需要反复多次阅读那篇文章和当前这篇文章来精通Go通道编程。 本文余下的内容将展示很多通道用例。 希望这篇文章能够说服你接收下面的观点: 使用通道进行异步和并发编程是简单和惬意 阅读全文
摘要:
通道(channel)介绍 通道是Go中的一种一等公民类型。它是Go的招牌特性之一。 和另一个招牌特性协程一起,这两个招牌特性使得使用Go进行并发编程(concurrent programming)变得十分方便和有趣,并且大大降低了并发编程的难度。 通道的主要作用是用来实现并发同步 Go提供了一种独 阅读全文
摘要:
golang微服务网关,tcp udp 三次握手 四次挥手 tcp流量控制 tcp拥塞控制 CLOSE_WAIT FIN_WAIT tcp粘包和拆包 阅读全文
摘要:
golang实现rabbitmq消息队列消费失败尝试重试;rabbitmq实现延时队列 阅读全文
摘要:
背景 在go服务器中,对于每个请求的request都是在单独的goroutine中进行的,处理一个request也可能设计多个goroutine之间的交互, 使用context可以使开发者方便的在这些goroutine里传递request相关的数据、取消goroutine的signal或截止日期。 阅读全文
摘要:
面向对象编程(Object Oriented Programming,OOP)是一种非常流行的计算机编程架构。java,c++,.net等都支持面向对象 面向对象特征1) 封装:指能够把一个实体的信息、功能、响应都装入一个单独的对象中的特性。2) 继承:继承的方法允许在不改动原程序的基础上对其进行扩 阅读全文
摘要:
在 Lua 中,函数 time、date 和 difftime 提供了所有的日期和时间功能。在 OpenResty 的世界里,不推荐使用这里的标准时间函数,因为这些函数通常会引发不止一个昂贵的系统调用,同时无法为 LuaJIT JIT 编译,对性能造成较大影响。推荐使用 ngx_lua 模块提供的带 阅读全文
摘要:
从lua5.1开始,Lua 加入了标准的模块管理机制,Lua 的模块是由变量、函数等已知元素组成的 table, 因此创建一个模块很简单,就是创建一个 table,然后把需要导出的常量、函数放入其中,最后返回这个 table 就行。 一)模块定义 模块的文件名 和 模块定义引用名称要一致 -- 文件 阅读全文
摘要:
举个例子,在 Lua table 中我们可以访问对应的key来得到value值,但是却无法对两个 table 进行操作。 那如何计算两个table的相加操作a+b? local t1 = {1,2,3}local t2 = {4,5,6} local t3 = t1 + t2 > {1,2,3,4, 阅读全文
摘要:
Lua中table内部实际采用哈希表和数组分别保存键值对、普通值;下标从1开始 不推荐混合使用这两种赋值方式。 local color={first="red", "blue", third="green", "yellow"} print(color["first"]) --> output: r 阅读全文
摘要:
一)全局-局部变量 全局变量是指:这个变量在没有被同名局部变量覆盖的时候,所有代码块都是可见的。 局部变量是指:该变量只在被申明的代码块中可见,并且可以覆盖同名全局变量或者外层局部变量。 Lua 中的局部变量要用 local 关键字来显式定义,不使用 local 显式定义的变量就是全局变量:g_va 阅读全文
摘要:
string的相关操作 1)string.upper(s)接收一个字符串 s,返回一个把所有小写字母变成大写字母的字符串。print(string.upper("Hello Lua")) -->output HELLO LUA 2)string.lower(s)接收一个字符串 s,返回一个把所有大写 阅读全文
摘要:
lua的正则表达式 与其他脚本语言不同的是,Lua并不使用POSIX规范的正则表达式[4](也写作regexp)来进行模式匹配。主要的原因出于程序大小方面的考虑:实现一个典型的符合POSIX标准的regexp大概需要4000行代码,这比整个Lua标准库加在一起都大。权衡之下,Lua中的模式匹配的实现 阅读全文
摘要:
lua控制结构一 一)条件 - 控制结构 if-elseif-else 是我们熟知的一种控制结构。Lua 跟其他语言一样,提供了 if-else 的控制结构。 1)单个 if 分支 型 if 条件 then --body end 条件为真 ,执行if中的body x = 10 if x > 0 th 阅读全文
摘要:
一)算术运算符 + 加法 - 减法 * 乘法 / 除法 % 取余 ^ 乘幂 - 负号 print(1 + 2) -->打印 3print(5 / 10) -->打印 0.5。 这是Lua不同于c语言的print(5.0 / 10) -->打印 0.5。 浮点数相除的结果是浮点数-- print(10 阅读全文