Windows server2012激活码( NH3KG-P864D-XYCJH-82DMH-4CX8M )
在函数定义之前使用函数相当于在变量赋值之前使用变量,Lua 世界对于没有赋值的变量,默认都是 nil,所以这里也就产生了一个 nil 的错误。
今天用rtrim()函数时遇到了一个奇怪的问题:
echo rtrim('</div>', '</div>'); // 输出为 <p echo ltrim('www.cnblogs.com','www.'); // 输出为 cnblogs.com
以上的输出结果有点出人意料,本来我想第一行应该输出
,第二行会输出cnblogs.com。
今天本来是想测试一下在使用触发器的情况下在一个表中插入1百万条数据和用代码实现有多大差别。但没想到插入语句一直执行不完,而观察安装MySQL的服务器CPU使用才5%左右。
这么慢的速度实在等不下去了,于是把innodb_flush_log_at_trx_commit参数调整为2.哈,好家伙,CPU占用马上跳到了70%左右,果然变快了。而且我的数据一会儿就插入完成了。于是深刻地明白了,以前在innodb_flush_log_at_trx_commit为1的时候,大多数时间CPU都在等待日志的读写。
Lua 具有一项与众不同的特性,允许函数返回多个值。Lua 的库函数中,有一些就是返回多个值。
介绍注册中心的功能的小节,我们曾经说过,注册中心要有持久化的操作,将一些服务的审核信息放到硬盘上,这样做的原因就是因为我们所有的服务信息都是放在内存里面的,如果注册中心的实例宕掉,或者服务器因为某种原因停止的时候,这样某些服务的审核记录就无法找回,为了避免这样的问题,我们需要做的事情就是把这些服务审核信息定时刷盘,把这些信息保存到硬盘上去,然后每个注册中心服务启动的时候,去硬盘上去恢复这些信息,这样就可以规避这样的问题了
定义变量
Go 语言里面定义变量有多种方式。
使用 var 关键字是 Go 最基本的定义变量方式,与 C 语言不同的是 Go 把变量类型放在变量名后面:
// 定义一个名称为“variableName”,类型为"type"的变量 var variableName type
对于比较底层的模块,内部使用到的非本地函数,都需要 local 本地化,这样做的好处:
- 避免命名冲突:防止外部是 require(...) 的方法调用造成全局变量污染
- 访问局部变量的速度比全局变量更快、更快、更快(重要事情说三遍)