上一页 1 ··· 37 38 39 40 41 42 43 44 45 ··· 54 下一页
摘要: go的pool资源池:1.当有多个并发请求的时候,比如需要查询数据库2.先创建一个2个容量的数据库连接资源池3.当一个请求过来的时候,去资源池里请求连接资源,肯定是空的就创建一个连接,执行查询,结束后放入了资源池里4.当第二个请求过来的时候,也是去资源池请求连接资源,就直接在池中拿过来一个连接进行查 阅读全文
posted @ 2019-02-23 15:45 唯一客服系统开发笔记 阅读(1212) 评论(0) 推荐(0) 编辑
摘要: 类型断言有点像向下转型,接口类型转到具体的实现实例类型上类型断言是一个使用在接口值上的操作。语法上它看起来像x.(T)被称为断言类型,这里x表示一个接口的类型和T表示一个类型 阅读全文
posted @ 2019-02-23 15:05 唯一客服系统开发笔记 阅读(1706) 评论(0) 推荐(0) 编辑
摘要: error接口1.error就是一个接口interface2.属于errors包,该包有一个导出方法New,返回了errorString类型3.errorString类型实现了error接口4.之所以这样是因为可以实现每个错误都是不同的实例 阅读全文
posted @ 2019-02-21 20:19 唯一客服系统开发笔记 阅读(1583) 评论(0) 推荐(0) 编辑
摘要: 接口类型1.接口类型具体描述了一系列方法的集合,实现这些方法的具体类型是这个接口类型的实例2.一个类型如果拥有一个接口需要的所有方法,那么这个类型就实现了这个接口 阅读全文
posted @ 2019-02-21 19:59 唯一客服系统开发笔记 阅读(560) 评论(0) 推荐(0) 编辑
摘要: 基于select的多路复用:1.解决如果一个channel中没有事件发过来,程序会立即阻塞,无法接收到第二个channel中的事件2.一般每一个case都代表一个通信操作,多个case会选一个能执行的3.default会默认执行,因此可以作为轮询channel来用 阅读全文
posted @ 2019-02-21 18:46 唯一客服系统开发笔记 阅读(658) 评论(0) 推荐(0) 编辑
摘要: 某些类的逻辑非常复杂,简化代码帮助理解下逻辑 阅读全文
posted @ 2019-02-20 19:46 唯一客服系统开发笔记 阅读(4704) 评论(0) 推荐(0) 编辑
摘要: <?php $cmd="ps aux|grep php-fpm"; $res=exec($cmd,$o); var_dump($o);//数组形式返回,每行一个元素 var_dump($res);//字符串形式返回,只返回最后一行 echo "==============================================================\n\r"; $res=s... 阅读全文
posted @ 2019-02-20 17:43 唯一客服系统开发笔记 阅读(739) 评论(0) 推荐(1) 编辑
摘要: 通道1.当一个资源需要在goroutine之间共享时,通道在goroutine之间架起了一个管道2.无缓冲通道和有缓冲通道,make的第二个参数就是缓冲区大小3.无缓冲通道需要发送和接收都准备好,否则先执行的goroutine会阻塞等待4.有缓冲的通道,在缓冲区没满之前,发送和接收动作都不会阻塞,空 阅读全文
posted @ 2019-02-16 16:30 唯一客服系统开发笔记 阅读(859) 评论(0) 推荐(0) 编辑
摘要: 1.互斥锁用于在代码上创建一个临界区,保证同一时间只有一个goroutine可以执行这个临界区代码2.Lock()和Unlock()定义临界区 阅读全文
posted @ 2019-02-16 10:49 唯一客服系统开发笔记 阅读(3182) 评论(0) 推荐(0) 编辑
摘要: 启动了两个goroutine,并完成一些工作。在各自循环的每次迭代之后,在goroutine 会使用LoadInt64 来检查shutdown 变量的值。这个函数会安全地返回shutdown 变量的一个副本。如果这个副本的值为1,goroutine 就会跳出循环并终止。 阅读全文
posted @ 2019-02-15 21:01 唯一客服系统开发笔记 阅读(670) 评论(0) 推荐(0) 编辑
摘要: 1.atomic包里的几个函数以及sync包里的mutex类型,提供了解决方案2.原子函数能够以很底层的加锁机制来同步访问整型变量和指针3.atomic.AddInt64(&counter, 1)的原理是强制同一时刻只能有一个goroutine运行并完成这个加法操作 阅读全文
posted @ 2019-02-15 20:08 唯一客服系统开发笔记 阅读(456) 评论(0) 推荐(0) 编辑
摘要: 企邮搬家进程管理逻辑,经过简化后的功能实现 阅读全文
posted @ 2019-02-15 17:49 唯一客服系统开发笔记 阅读(624) 评论(0) 推荐(0) 编辑
摘要: 1.goroutine在逻辑处理器的线程上进行交换 2.竞争状态:两个或者多个goroutine在没有互相同步的情况下,访问某个共享的资源,并试图同时读和写这个资源,就处于互相竞争的状态对共享资源的读和写操作必须是原子化的,同一时刻只能有一个goroutine对共享资源进行读和写操作 3.使用竞争检 阅读全文
posted @ 2019-02-03 11:25 唯一客服系统开发笔记 阅读(383) 评论(0) 推荐(0) 编辑
摘要: WaitGroup是一个计数信号量,可以用来记录并维护运行的goroutine,如果WaitGroup的值大于0,Wait方法就会阻塞 调用Done方法来减少WaitGroup的值,并最终释放main函数 阅读全文
posted @ 2019-02-01 22:21 唯一客服系统开发笔记 阅读(559) 评论(0) 推荐(0) 编辑
摘要: 并发和并行的区别:1.并行是让不同的代码片段同时在不同的物理机器上运行,并行的关键是在不同的物理机器上同时运行 2.并发是同时管理很多事情,比如在一个物理机器上进行不停的调度,有些事情可能只做了一半就被暂停去做别的事情了 3.因为操作系统和硬件总资源一般很少,所以并发的重要性更高,使用较少的资源做更 阅读全文
posted @ 2019-02-01 21:42 唯一客服系统开发笔记 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 1.直接在github上clone对应的代码 , 地址为: https://github.com/golang/xxxxxxx.git xxxxxxx为所缺的库名 , 比如net库 text库 https://github.com/golang/net.git https://github.com/ 阅读全文
posted @ 2019-01-29 18:47 唯一客服系统开发笔记 阅读(1674) 评论(0) 推荐(0) 编辑
摘要: 1.redis并没有直接使用前面的数据结构实现键值对数据库,而是基于数据结构创建了一个对象系统,字符串对象/列表对象/哈希对象/集合对象/有序集合对象都用到了至少一种前面的数据结构2.针对不同的使用场景,为对象设置多种不同的数据结构实现,从而优化对象在不同场景下的使用效率3.redis的对象系统实现 阅读全文
posted @ 2019-01-28 18:53 唯一客服系统开发笔记 阅读(421) 评论(0) 推荐(0) 编辑
摘要: redis的设计与实现:1.假如有一个用户关系模块,要实现一个共同关注功能,计算出两个用户关注了哪些相同的用户,本质上是计算两个用户关注集合的交集,如果使用关系数据库,需要对两个数据表执行join操作,对合并的结果执行去重distinct操作,非常复杂2.Redis直接内置了集合数据类型,支持对集合 阅读全文
posted @ 2019-01-23 14:52 唯一客服系统开发笔记 阅读(1196) 评论(0) 推荐(0) 编辑
摘要: 1.计算机一直在演化,64核,128核等等,但是我们依旧在使用为单核设计的技术编程2.Go语言让分享自己的代码包更容易3.Go语言重新思考传统的面向对象,提供了更高效的复用代码手段4.Go不仅提供高性能而且开发更快速5.Go语法简洁,编译速度快,内置并发,自带垃圾回收器6.Go编译器只关注直接被引用 阅读全文
posted @ 2019-01-18 18:15 唯一客服系统开发笔记 阅读(363) 评论(0) 推荐(0) 编辑
摘要: 数据库优化:1.可以在单个SQL语句,整个应用程序,单个数据库服务器或多个联网数据库服务器的级别进行优化2.数据库性能取决于数据库级别的几个因素,例如表,查询和配置设置3.在数据库级别进行优化,在硬件级别进行优化,平衡可移植性和性能4.合适的结构,合适的数据类型;执行频繁更新的应用程序大量表(少列) 阅读全文
posted @ 2019-01-18 14:12 唯一客服系统开发笔记 阅读(1745) 评论(0) 推荐(0) 编辑
摘要: go逐行读取文本信息:1.os包提供了操作系统函数的不依赖平台的接口,Open方法打开一个文件用于读取,func Open(name string) (file *File, err error)2.bufio包实现了有缓冲的I/O,NewReader方法创建一个具有默认大小缓冲、从r读取的*Rea 阅读全文
posted @ 2019-01-15 16:22 唯一客服系统开发笔记 阅读(656) 评论(0) 推荐(0) 编辑
摘要: nginx error_log设置1.error_log syslog:server=192.168.1.1 [级别] //直接发送给远程syslog日志集中服务器2.error_log stderr ;//直接发送给stderr;发送给stderr的信息可以使用syslog记录的日志查看,一般的配 阅读全文
posted @ 2019-01-11 16:05 唯一客服系统开发笔记 阅读(1415) 评论(0) 推荐(0) 编辑
摘要: 1.使用log_format指令来更改日志格式,该指令只能放在http{}段 log_format 日志名 '日志内容'; server { access_log /var/log/nginx/default.access.log 日志名;} 2.$request_body是nginx的内置变量,可 阅读全文
posted @ 2019-01-10 17:43 唯一客服系统开发笔记 阅读(4396) 评论(0) 推荐(1) 编辑
摘要: 1.display_errors = Off;//控制php是否输出错误;在生产环境中输出会泄露敏感信息;建议记录错误而不是将它们发送到STDOUToff :不显示任何错误;stderr :向STDERR显示错误(仅影响CGI/CLI) ;On/stdout :向STDOUT显示错误(就是直接在屏幕 阅读全文
posted @ 2019-01-09 16:51 唯一客服系统开发笔记 阅读(673) 评论(0) 推荐(1) 编辑
摘要: 去掉敏感信息后的不完整版 2018年12月29日 记录: 目前在维护的最低PHP版本只有5.6了:1.5.6.39版本convert.quoted-printable-encode过滤器时核心的segfault错误imap扩展的错误phar扩展的错误,PharData类提供了一个访问和创建不可执行的 阅读全文
posted @ 2018-12-31 10:52 唯一客服系统开发笔记 阅读(1957) 评论(2) 推荐(0) 编辑
摘要: sql注入后可以通过该数据库获取所有表的字段信息 1. COLLATIONS表 提供有关每个字符集的排序规则的信息。 COLLATIONS表包含以下列: COLLATION_NAME 排序规则名称。 CHARACTER_SET_NAME 与排序规则关联的字符集的名称。 ID 排序规则ID。 IS_DEFAULT 排序规则是否为其字符集的默认值。 IS_COMPILE... 阅读全文
posted @ 2018-12-20 20:48 唯一客服系统开发笔记 阅读(444) 评论(0) 推荐(0) 编辑
摘要: ss -l 阅读全文
posted @ 2018-12-12 23:25 唯一客服系统开发笔记 阅读(532) 评论(0) 推荐(0) 编辑
摘要: 未压缩前 阅读全文
posted @ 2018-12-11 21:36 唯一客服系统开发笔记 阅读(604) 评论(0) 推荐(1) 编辑
摘要: fpm:FastCGI Process Manager 是一种替代的PHP FastCGI实现,对于负载较重的站点非常有用。 1.先进的进程控制,优雅的停止启动 2.能够使用不同的uid/gid/chroot/environment启动worker,使用不同的php.ini,监听不同的端口 3.stdout stderr日志记录 4.opcode cache破坏的情况下紧急重启 5.加速上传支持... 阅读全文
posted @ 2018-12-10 17:51 唯一客服系统开发笔记 阅读(457) 评论(0) 推荐(0) 编辑
摘要: 1.运行时控制Nginx进程 NGINX有一个主进程和一个或多个工作进程。 如果启用了缓存,则缓存加载器和缓存管理器进程也会在启动时运行。 主进程的主要目的是读取和评估配置文件,以及维护工作进程。 工作进程执行请求的实际处理。 NGINX依赖于依赖操作系统的机制来有效地在工作进程之间分配请求。 工作进程数由nginx.conf配置文件中的worker_processes指令定义,可以设置为固... 阅读全文
posted @ 2018-12-06 21:45 唯一客服系统开发笔记 阅读(382) 评论(0) 推荐(0) 编辑
摘要: 随着互联网的爆炸性增长及其在我们生活中日益重要的作用,互联网上的流量急剧增加,并且每年以超过100%的速度增长。服务器上的工作负载正在迅速增加,因此服务器很容易在短时间内过载,尤其是对于流行的网站。为了克服服务器的过载问题,有两种解决方案。一种是单服务器解决方案,即将服务器升级到性能更高的服务器,但 阅读全文
posted @ 2018-12-05 16:10 唯一客服系统开发笔记 阅读(302) 评论(0) 推荐(0) 编辑
摘要: 1.常见参数 tcpdump -i eth0 -nn -s0 -v port 80 -i 选择监控的网卡 -nn 不解析主机名和端口号,捕获大量数据,名称解析会降低解析速度 -s0 捕获长度无限制 -v 增加输出中显示的详细信息量 port 80 端口过滤器,只捕获80端口的流量,通常是HTTP 2. tcpdump -A -s0 port 80 -A 输出ASCII数据 -X 输出... 阅读全文
posted @ 2018-12-01 19:37 唯一客服系统开发笔记 阅读(736) 评论(0) 推荐(0) 编辑
摘要: DNS DomainNameSystem域名系统,根据域名查出IP地址 1.dig命令可以显示整个查询的过程 root@VM-38-204-ubuntu:~# dig www.sopans.com //这一段是查询参数和统计 ; > DiG 9.10.3-P4-Ubuntu > www.sopans.com ;; global options: +cmd ;; Got answer: ;; -... 阅读全文
posted @ 2018-11-28 22:19 唯一客服系统开发笔记 阅读(1779) 评论(0) 推荐(0) 编辑
摘要: php timer.php 每500毫秒执行一次 阅读全文
posted @ 2018-11-27 22:18 唯一客服系统开发笔记 阅读(683) 评论(0) 推荐(0) 编辑
摘要: 1.闭包函数也叫匿名函数,一个没有指定名称的函数,一般会用在回调部分 2.闭包作为回调的基本使用, echo preg_replace_callback('~-([a-z])~', function ($match) { return strtoupper($match[1]); }, 'hello-world'); 第三个参数是要匹配的目标字符串,第二个参数是一个匿名函数,当preg... 阅读全文
posted @ 2018-11-27 22:10 唯一客服系统开发笔记 阅读(512) 评论(0) 推荐(0) 编辑
摘要: PHP代码的执行:1.和大部分程序一样,接收数据,处理数据,输出结果2.编写的代码就是输入的数据,php内核进行处理,返回相应的输出3.php作为业务程序和编译语言的区别就是,php多了一步把用户代码翻译为机器语言的步骤:词法分析,语法分析4.词法分析把php代码分割成一个个单元,语法分析将这些单元 阅读全文
posted @ 2018-11-22 21:48 唯一客服系统开发笔记 阅读(686) 评论(0) 推荐(0) 编辑
摘要: 两个类有依赖关系的时候 使用者通过构造函数参数,方法或属性等方式将具体组件,传给自己 $storage=new Storge(); //构造函数注入 class User{ public function __construct($storage){ $this->storage = $storage; } } //方法注入 class User{... 阅读全文
posted @ 2018-11-21 23:10 唯一客服系统开发笔记 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 2016年刚入职后在新浪微盘项目上所遇到的问题: 1.前端接口的程序不同版本问题,版本号在程序路径中区分,比如2.4.2/lib/sdk/api/weipan/Client.php 2.文件夹接口的mc缓存问题,用户创建文件夹的时候会从新读取数据库更新MC缓存 3.文件库和用户库分开,比如:用户表在 阅读全文
posted @ 2018-11-21 22:23 唯一客服系统开发笔记 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 向消息队列发送数据和获取数据的测试 阅读全文
posted @ 2018-11-20 21:33 唯一客服系统开发笔记 阅读(580) 评论(0) 推荐(0) 编辑
摘要: 每一个连接对应一个进程,类似apache的perwork模式 php多进程的解释 阅读全文
posted @ 2018-11-19 21:14 唯一客服系统开发笔记 阅读(856) 评论(0) 推荐(0) 编辑
上一页 1 ··· 37 38 39 40 41 42 43 44 45 ··· 54 下一页