`
cwqcwk1
  • 浏览: 86874 次
文章分类
社区版块
存档分类
最新评论
文章列表
MYSQL主从同步是目前使用比较广泛的数据库架构,技术比较成熟,配置也不复杂,特别是对于负载比较大的网站,主从同步能够有效缓解数据库读写的压力。 MySQL主从同步的机制 MYSQL主从同步是在MySQL主从复制(Master-Slave Replication)基础上实现的,通过设置在Master MySQL上的binlog(使其处于打开状态),Slave MySQL上通过一个I/O线程从Master MySQL上读取binlog,然后传输到Slave MySQL的中继日志中,然后Slave MySQL的SQL线程从中继日志中读取中继日志,然后应用到Slave MySQL的数据库中。这样实 ...
js监听浏览器回车事件,可以支持ie6+,火狐,谷歌等浏览器 <html> <head> <script type="text/javascript"> //注册键盘事件 document.onkeydown = function(e) { //捕捉回车事件 var ev = (typeof event!= 'undefined') ? window.event : e; if(ev.keyCode == 13) { alert('捕捉到了回车事件!'); } } </script> </head> & ...
MySQL 5.5 中对于二进制日志 (binlog) 有 3 种不同的格式可选:Mixed,Statement,Row,默认格式是 Statement。总结一下这三种格式日志的优缺点。 MySQL Replication 复制可以是基于一条语句 (Statement Level) ,也可以是基于一条记录 (Row Level),可以在 MySQL 的配置参数中设定这个复制级别,不同复制级别的设置会影响到 Master 端的 bin-log 日志格式。1. Row 日志中会记录成每一行数据被修改的形式,然后在 slave 端再对相同的数据进行修改。优点:在 row 模式下,bin-log 中 ...
Mnesia是erlang/otp自带的分布式数据库管理系统。mnesia配合erlang的实现近乎理想,但在实际使用当中差强人意,总会有一些不足。mnesia数据表没有主键自增的功能,但在mnesia函数中有一个自增函数可以用来生成自增的id,在后面的内容将讲述如何实现主键自增的功能。 参照SQLite的做法,就是在数据库中单独建立一个的sqlite_sequence表来做其他表的自增索引表。同样,我们也创建这样一个表erlang_sequence,用来索引其他表的自增id,看似麻烦,效果还是很理想。 -module(m). -export([init/0, reg/2]). -rec ...
用erlang的话讲,深入了解erlang不同数据类型所占的内存空间大小,是erlang高效编程的一个良好开始。 一个程序要运行,就要先描述其算法。描述一个算法应先说明算法中要用的数据,数据以变量或常量的形式来描述。每个变量或常量都有数据类型。 很多人都以为要把算法写得多精湛,才算高效编程,其实不然,细微处见功夫。 以下内容展示了erlang各种数据类型占用的内存大小。 Data type Memory size Small integer 1 wordOn 32-bit architectures: -134217729 < i < 134217728 (28 bits) ...
Socket也叫套接字,用来实现网络通讯,通过调用系统提供的API,可以和远程的机子传输数据。Socket有很多种协议,而这篇文章主要讨论TCP部分的内容,也就是说后面说的内容主要是指TCP Socket。 Socket 通信的一般过程: 阻塞socket(同步socket) 进程或线程执行到某些socket函数时必须等待该socket事件的发生,如果该事件没有发生,socket函数不能立即返回,进程或线程被阻塞。 特点:使用简单,适合一对一的应答场合,在服务端很少使用,或配合多线程使用 函数 返回值说明 阻塞情况 accept() 返回新的连接socket句柄。 ...
今天使用远程桌面连接登陆服务器,发现不能在本地电脑和远程服务器之间复制粘贴文件了,复制粘贴文本也不行。 网上搜了一下,主要有两种情况: 1、复制粘贴功能原本可以用,突然失灵了 2、从头到尾都无法使用这个复制粘贴功能 针对第一种情况,只需重启一下rdpclip.exe就可以了。 步骤: 1、打开任务管理器,查看进程,如果有 rdpclip.exe 进程,先关闭该进程 2、开始->运行->rdpclip.exe,重新运行此程序,恢复正常 如果是第二种情况,打开本机的远程桌面连接,按照下图所示,勾选以下项目 最后介绍一下rdpclip.exerdpclip.exe是 Windows ...
最近要对公司的网站做测试,我主要使用LoadRunner和ApacheBench高低搭配进行测试。LoadRunner主要用来压力测试,可以模拟用户行为,实时监测,有均值,曲线图,结果比较直观。ApacheBench也不差,比较简单,可以用来测试性能。本文侧重测试Apache/php性能,所以以ApacheBench说明。 测试过程发现一个问题,百思不得其解。 使用ApacheBench测试一段时间后,经常报这个错误“apr_poll: The timeout specified has expired (70007)”,引起了我的强烈关注 apache/php 问题测试过程 测试机器 ...
erlang shell 是在命令行模式下使用命令和 erlang 交互的工具。erlang shell功能十分强大,可以直接编译、加载、执行、调试模块等等,完全可以将shell做为erlang项目的终端使用。文章将对erlang shell 命令做介绍,还简单以示例说明。 打开erlang shell的帮助信息,在这里变成中文了。同时可以看下官方文档 shell 函数帮助 Eshell V5.10.2 (abort with ^G) 1> help(). ** shell 内置命令 ** b() -- 显示所有绑定的变量 e(N) -- 重复某次查询 ...
由于浏览器(同源策略)限制,JavaScript 跨域的问题,一直是一个颇为棘手的问题。HTML5 提供了跨文档消息传输的功能,在网页文档之间互相接收与发送信息。使用这个功能,不仅同源(域 + 端口号)的 Web 网页之间可以互相通信,还可以在两个不同域名之间实现跨域通信。 跨文档消息传输Cross Document Messaging提供了postMessage方法在不同网页文档之间互相传递数据,支持实时消息传递。现在很多浏览器都将支持这个功能,比如Google Chrome 2.0+、Internet Explorer 8.0+、Firefox 3.0+、Opera 9.6+、Safari ...
SQLite是一款轻量级的本地数据库,使用时仅需占用很少的资源,支持Windows/Linux等主流系统,能同时跟很多程序语言结合,例如 C++、C#、PHP、Java等等。 本篇主要讲述如何在Windows下以DLL方式加载和使用SQLite数据库 一、准备资源 ...
HTTP(超文本传输协议)是一种客户端与服务端的传输协议,最早用于浏览器和服务器之间的通信,后来因为其使用灵活、方便等特点,广泛用于客户端与服务端的通信。文章将简单介绍HTTP协议,同时以C++方式分别实现HTTP GET、POST 请求 HTTP 请求报文 HTTP请求报文的一般格式由4部分组成:请求行、请求头部、空行、请求数据。如下图所示: 请求行:包含3部分内容:请求方法,URL,协议版本。形式如:GET /?aaa=1 HTTP/1.1。请求方法有GET、POST、HEAD、PUT、DELETE、OPTIONS等。URL指请求服务端的地址,可以是相对地址或域名形式的绝对地址。协 ...
文章介绍VC++开发Win32窗体一些必须掌握的技巧,比如判断窗体是否存在,判断窗体是否最大化、最小化,禁止窗体最大化以及屏蔽win7拖拽放大效果,将窗体移到最前面,并激活窗体,获取键盘操作,将窗体置顶和取消置顶,如何发送窗体消息,窗体如何居中等等 判断窗体是否存在: if( (NULL != hWnd) && ::IsWindow(hWnd) ) { //窗体存在 } 判断窗体是否最大化、最小化: if(::IsZoomed(hWnd)) { //窗体当前最大化 } if(::IsIconic(hWnd)) { //窗体当前最小化 } ...
获取当前时间 erlang:now()得到的是从1970年1月1日零时起,到现在经过的时间,结果为{MegaSecs, Secs, MicroSecs}。有个问题要注意,还有另外一个函数可以实现同样的功能:os:timestamp() 那么erlang:now()和os:timestamp()的区别是什么? erlang的解释如下: erlang:now() If you do not need the return value to be unique and monotonically increasing, use os:timestamp/0 instead to avoid some ...
SQLite是一款轻量级的本地数据库,支持Windows/Linux/Unix等等主流的操作系统,同时支持很多程序语言,比如 C++、C#、PHP、Java等 本篇主要讲述如何在Windows下编译和使用SQLite数据库。 一、编译准备 1、下载SQLite源代码:选择sqlite-amalgamation-X.zip,后面是版本号 二、编译过程 1、打开VC新建一个 Win32 DLL 空工程,命名为 sqlite3 2、解压sqlite-amalgamation-X.zip,把sqlite3.h、sqlite3ext.h、sqlite3.c添加到工程项目中 5、修改配置,在项目属性,常规 ...
Global site tag (gtag.js) - Google Analytics