- 浏览: 89389 次
- 性别:
- 来自: 上海
-
文章列表
alter database `zfax_test` character set utf8mb4;
alter table `zfax_test`.`t_beef_receive` character set utf8mb4;
alter table `zfax_test`.`t_beef_receive` change receiveName receiveName varchar(200) character set utf8mb4;
public String removeNonBmpUnicode(String str) {
if (str == null) ...
mysql当消息队列用(不可重复读)
以下在一个事务中执行,
1)如果查询条件有索引,锁住索引
2)如果查询条件没索引,锁表
3)这里对读不带for update的不影响,select for update的话会等待。
select * from t_beef_receive where beefSendId = #{beefSendId} and type = 0 limit 1 for update;
update t_beef_receive xxx
几个怕碰见死锁查mysql状态的sql:
show open tables where in_use & ...
参数:
b 以字节为单位显示。
-k 以K字节为单位显示。默认显示。
-m 以兆字节为单位显示。
-s 每隔多少秒重复执行。可编写一个脚本用于监控。
解释:
简介
iostat主要用于监控系统设备的IO负载情况,iostat首次运行时显示自系统启动开始的各项统计信息,之后运行iostat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息。
语法
iostat [ -c ] [ -d ] [ -h ] [ -N ] [ -k | -m ] [ -t ] [ -V ] [ -x ] [ -z ] [ device [...] | ALL ] [ -p [ device [,...] | ALL ] ] [ interval [ count ] ]
入门使用
Nginx优化(转)
- 博客分类:
- nginx
网络带宽对测试的影响比较大,最后开8进程local测试,能到2w并发。
http://www.oschina.net/question/1415343_160280?sort=time
一般来说nginx 配置文件中对优化比较有作用的为以下几项:
worker_processes 8;
nginx 进程数,建议按照cpu 数目 ...
Apache Camel
- 博客分类:
- camel
个人理解
Camel相当于轻量级的ESB
from 定义源消息触发后续动作
process 触发后camel做的处理,比如分发,正则匹配下的分发
to 消息到哪里去
开启多个微服务,发送消息到camel,camel接收后,发送到下一个微服务
微服务应该是采用轮询的方式监听消息或数据,对于非高并发的场景,是可以接受的。
http://camel.apache.org/running-examples.html
Running Examples
This section walks you through running the examples which are ...
创建项目
创建一个vertx项目,使用Maven命令:
mvn archetype:generate -Dfilter=io.vertx:
将会显示:
[INFO] Scanning for projects...[INFO] [INFO] ------------------------------------------------------------------------[INFO] Building Maven Stub Project (No POM) 1[INFO] --------------------------------------------------- ...
redis mongo
- 博客分类:
- MongoDB redis
redis数据在内存,或者说AOF里。
同时是用hashtable+链表的方式存储数据
redis在hash冲突大于阈值的时候,进行rehash,原理是将rehash操作分解到每一个操作。存在dict[0]:放置原始数据,dict[1]做rehash后的处理。
Mongo数据在磁盘(以bson形式),索引为btree。
redis:
1、NIO通信
因都在内存操作,所以逻辑的操作非常快,减少了CPU的切换开销,所以为单线程的模式(逻辑处理线程和主线程是一个)。
reactor模式,实现自己的多路复用NIO机制(epoll,selec ...
http://www.itshanghai.net/technology/2009/0209/article_238.html
另外,可以参考这个http://www.centos.org/docs/5/html/5.1/Deployment_Guide/ch-proc.html
内容摘要:Linux系统上的/proc目录是一种文件系统,即proc文件系统。
Linux系统上的/pro ...
mysql主从配置及遇到的问题
- 博客分类:
- mysql
碰到的问题,不知什么原因mysql同步失效了,解决办法
最好先手动同步一下slave的数据
NO1:在slave库上:SQL>slave stop;SQL>reset master; //重置master,pos变为154,file变为mysql-bin.000001NO2:在master库上执行:SQL>show master status;记录2个参数值:master_log_file and master_log_pos ->vlues,需要去master库上查询;
tomcat配置及调优
- 博客分类:
- tomcat
1、 linux下的tomcat:
修改TOMCAT_HOME/bin/catalina.sh 位置cygwin=false前(行数大约99)。JAVA_OPTS="-server -Xms1024m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=256m"
linux shell debug方法 转
- 博客分类:
- linux
1. 使用trap命令
trap命令用于捕获指定的信号并执行预定义的命令。其基本的语法是:trap 'command' signal其中signal是要捕获的信号,command是捕获到指定的信号之后,所要执行的命令。可以用kill –l命令看到系统中全部可用的信号名,捕获信号后所执行的命令可以是任何一条或多条合法的shell语句,也可以是一个函数名。shell脚本在执行时,会产生三个所谓的“伪信号”,(之所以称之为“伪信号”是因为这三个信号是由shell产生的,而其它的信号是由操作系统产生的),通过使用trap命令捕获这三个“伪信号”并输出相关信息对调试非常有帮助。
表 1. shell ...
reactor&proactor转
- 博客分类:
- java
首先分享一下,我在网上看到的两篇不错的文章:正是这两篇文章才理解了reactor和proactor模式;
Reactor模式,或者叫反应器模式
高性能IO设计的Reactor和Proactor模式
首先就第一篇《Reactor模式,或者叫反应器模式》做一下笔记: ...
线程状态转换图
就是非阻塞IO 采用多路分发方式举个例子吧,你服务器做一个聊天室,按照以前的阻塞式IO,你必须为每个连接创建一个线程 因为当你调用如 in.read(buf)时,线程会阻塞在这里。而采用nio,只要注册了事件,它内部采用反应模式,当有IO事件发生时,再调度它,而不用等待在那里.
当前分布式计算 Web Services盛行天下,这些网络服务的底层都离不开对socket的操作。他们都有一个共同的结构:1. Read request2. Decode request3. Process service4. Encode reply5. Send reply
经典的网 ...