- 浏览: 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的数据库中。这样实 ...
- 2013-12-05 22:57
- 浏览 202
- 评论(0)
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>
& ...
- 2013-12-05 18:43
- 浏览 257
- 评论(0)
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 中 ...
- 2013-12-05 18:17
- 浏览 214
- 评论(0)
Mnesia是erlang/otp自带的分布式数据库管理系统。mnesia配合erlang的实现近乎理想,但在实际使用当中差强人意,总会有一些不足。mnesia数据表没有主键自增的功能,但在mnesia函数中有一个自增函数可以用来生成自增的id,在后面的内容将讲述如何实现主键自增的功能。
参照SQLite的做法,就是在数据库中单独建立一个的sqlite_sequence表来做其他表的自增索引表。同样,我们也创建这样一个表erlang_sequence,用来索引其他表的自增id,看似麻烦,效果还是很理想。
-module(m).
-export([init/0, reg/2]).
-rec ...
- 2013-12-04 19:02
- 浏览 243
- 评论(0)
用erlang的话讲,深入了解erlang不同数据类型所占的内存空间大小,是erlang高效编程的一个良好开始。
一个程序要运行,就要先描述其算法。描述一个算法应先说明算法中要用的数据,数据以变量或常量的形式来描述。每个变量或常量都有数据类型。
很多人都以为要把算法写得多精湛,才算高效编程,其实不然,细微处见功夫。
以下内容展示了erlang各种数据类型占用的内存大小。
Data type
Memory size
Small integer
1 wordOn 32-bit architectures: -134217729 < i < 134217728 (28 bits) ...
- 2013-12-03 20:51
- 浏览 351
- 评论(0)
Socket也叫套接字,用来实现网络通讯,通过调用系统提供的API,可以和远程的机子传输数据。Socket有很多种协议,而这篇文章主要讨论TCP部分的内容,也就是说后面说的内容主要是指TCP Socket。
Socket 通信的一般过程:
阻塞socket(同步socket)
进程或线程执行到某些socket函数时必须等待该socket事件的发生,如果该事件没有发生,socket函数不能立即返回,进程或线程被阻塞。
特点:使用简单,适合一对一的应答场合,在服务端很少使用,或配合多线程使用
函数
返回值说明
阻塞情况
accept()
返回新的连接socket句柄。
...
- 2013-12-02 20:21
- 浏览 350
- 评论(0)
今天使用远程桌面连接登陆服务器,发现不能在本地电脑和远程服务器之间复制粘贴文件了,复制粘贴文本也不行。
网上搜了一下,主要有两种情况:
1、复制粘贴功能原本可以用,突然失灵了
2、从头到尾都无法使用这个复制粘贴功能
针对第一种情况,只需重启一下rdpclip.exe就可以了。
步骤:
1、打开任务管理器,查看进程,如果有 rdpclip.exe 进程,先关闭该进程
2、开始->运行->rdpclip.exe,重新运行此程序,恢复正常
如果是第二种情况,打开本机的远程桌面连接,按照下图所示,勾选以下项目
最后介绍一下rdpclip.exerdpclip.exe是 Windows ...
- 2013-12-02 19:40
- 浏览 871
- 评论(0)
最近要对公司的网站做测试,我主要使用LoadRunner和ApacheBench高低搭配进行测试。LoadRunner主要用来压力测试,可以模拟用户行为,实时监测,有均值,曲线图,结果比较直观。ApacheBench也不差,比较简单,可以用来测试性能。本文侧重测试Apache/php性能,所以以ApacheBench说明。
测试过程发现一个问题,百思不得其解。
使用ApacheBench测试一段时间后,经常报这个错误“apr_poll: The timeout specified has expired (70007)”,引起了我的强烈关注
apache/php 问题测试过程
测试机器
...
- 2013-11-25 20:13
- 浏览 495
- 评论(0)
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) -- 重复某次查询 ...
- 2013-11-21 21:39
- 浏览 352
- 评论(0)
由于浏览器(同源策略)限制,JavaScript 跨域的问题,一直是一个颇为棘手的问题。HTML5 提供了跨文档消息传输的功能,在网页文档之间互相接收与发送信息。使用这个功能,不仅同源(域 + 端口号)的 Web 网页之间可以互相通信,还可以在两个不同域名之间实现跨域通信。
跨文档消息传输Cross Document Messaging提供了postMessage方法在不同网页文档之间互相传递数据,支持实时消息传递。现在很多浏览器都将支持这个功能,比如Google Chrome 2.0+、Internet Explorer 8.0+、Firefox 3.0+、Opera 9.6+、Safari ...
- 2013-11-18 20:39
- 浏览 299
- 评论(0)
SQLite是一款轻量级的本地数据库,使用时仅需占用很少的资源,支持Windows/Linux等主流系统,能同时跟很多程序语言结合,例如 C++、C#、PHP、Java等等。
本篇主要讲述如何在Windows下以DLL方式加载和使用SQLite数据库
一、准备资源
...
- 2013-11-15 22:34
- 浏览 493
- 评论(0)
HTTP(超文本传输协议)是一种客户端与服务端的传输协议,最早用于浏览器和服务器之间的通信,后来因为其使用灵活、方便等特点,广泛用于客户端与服务端的通信。文章将简单介绍HTTP协议,同时以C++方式分别实现HTTP GET、POST 请求
HTTP 请求报文
HTTP请求报文的一般格式由4部分组成:请求行、请求头部、空行、请求数据。如下图所示:
请求行:包含3部分内容:请求方法,URL,协议版本。形式如:GET /?aaa=1 HTTP/1.1。请求方法有GET、POST、HEAD、PUT、DELETE、OPTIONS等。URL指请求服务端的地址,可以是相对地址或域名形式的绝对地址。协 ...
- 2013-11-15 18:38
- 浏览 1083
- 评论(0)
文章介绍VC++开发Win32窗体一些必须掌握的技巧,比如判断窗体是否存在,判断窗体是否最大化、最小化,禁止窗体最大化以及屏蔽win7拖拽放大效果,将窗体移到最前面,并激活窗体,获取键盘操作,将窗体置顶和取消置顶,如何发送窗体消息,窗体如何居中等等
判断窗体是否存在:
if( (NULL != hWnd) && ::IsWindow(hWnd) )
{
//窗体存在
}
判断窗体是否最大化、最小化:
if(::IsZoomed(hWnd))
{
//窗体当前最大化
}
if(::IsIconic(hWnd))
{
//窗体当前最小化
}
...
- 2013-11-13 22:07
- 浏览 436
- 评论(0)
获取当前时间
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 ...
- 2013-11-13 20:13
- 浏览 656
- 评论(0)
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、修改配置,在项目属性,常规 ...
- 2013-11-12 21:12
- 浏览 472
- 评论(0)