Tokyo Cabinet table表的jsp接口

作者 : admin 于 2011年08月16日, 14:50:22
2011
08-16

终于完成了Tokyo Cabinet的jsp接口,在tomcat下性能不是那么出众,看来性能还是得用c。

部署方法看上一偏配置说明。

代码 api.tar.gz

信息插入与修改:

  1. $data['database'] = "sunboyudata2";
  2. $jsondata = array();
  3. while($row = mysql_fetch_array($query,MYSQL_ASSOC)){
  4. $jsondata[] = $row;
  5. }
  6. $data['jsondata'] = json_encode($jsondata);
  7. $url= http_build_query($data );
  8. $postdate = array (
  9. 'http' => array (
  10. 'method' => 'POST',
  11. 'header'=> "Content-type: application/x-www-form-urlencoded\r\n" .
  12. "Content-Length: " . strlen($url) . "\r\n",
  13. 'content' => $url
  14. ),
  15. );
  16. $postcontent = stream_context_create($postdate);
  17. $return= file_get_contents('http://192.168.138.29:8080/api.jsp', false, $postcontent );

查询:

http://192.168.138.29:8080/search.jsp?database=sunboyudata2&query=fid:QCNUMEQ:1604&skip=20000&max=10

database:数据库文件名[无扩展名]
query:查询条件 每组查询条件三个部分 字段:规则:值 每组之间用|分割
skip:记录起始
max:返回的记录条数

缺点:在频繁大数据量提交的时候,tomcat总是影响失败。性能没有预期那么好,tc需要优化。

linux下tokyocabinet存储引擎java接口的配置

作者 : admin 于 2011年08月12日, 15:01:47
2011
08-12

tokyocabinet是一个性能极高的存储引擎,除支持传统的keyvalue存储外,还支持table表的存储,具体可以看这里 http://fallabs.com/tokyocabinet/spex-en.html#tctdbapi

使用tc常用的工具就是作者另外写的一个api:tt http://fallabs.com/tokyotyrant/ 兼容memcached协议,非常好用和高效。

但这里我期望使用的是table表,它提供了C的接口,但没有php方便调用的的方式,所以张宴同学做了一个很方便的tcsql http://blog.s135.com/tcsql/

因为我C的水平问题,一直没有写出稳定的操作接口,并且张宴同学tcsql的设计理念非常好,支持分布式的结构。

因此我改变了设计思路,并且使用我想对熟悉的java接口来做这个事情。

linux下配置过程:

环境装备:标准JDK环境

1、下载java api http://fallabs.com/tokyocabinet/javapkg/

2、解压后进入 tokyocabinet-java-1.24 目录

3、运行 ./configure –prefix=/opt/tcjava && make && make install

4、环境变量配置:
这里是包含JDK的全部配置

export JAVA_HOME=/opt/jdk
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:/opt/tcjava/lib/tokyocabinet.jar:/opt/tcjava/lib/libjtokyocabinet.so:/opt/tcjava/lib/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/tcjava/lib/
export PATH=$PATH:$JAVA_HOME/bin
export JRE_HOME=$JAVA_HOME/jrei
JAVA_OPTS="-server"
JAVA_OPTS="$JAVA_OPTS -Xms64m -Xmx128m"
JAVA_OPTS="$JAVA_OPTS -D64 -Djava.library.path=/usr/local/lib/"

把以上代码增加到 /etc/profile 文件尾部,而后 source /etc/profile

配置完成,开始测试:

进入 tokyocabinet-java-1.24/example 执行 make

然后运行 java TCTDBEX 如果看到跟代码中预期的结果,则tc的javaapi在此服务器上安装成功。

使用PHP来生成二维码

作者 : admin 于 2011年08月11日, 21:55:44
2011
08-11

二维码是什么?

看这里:百度百科:二维码

二维码我用的最多的就是利用android手机的二维码扫描功能扫描网址,当然这种方法还大量应用在货物标签,比如我们去超市结账的条码扫描。

二维码利用近距离的光线进行数据传输,打破了网络数据线的依赖,可以说是一种打破常规的非常方便的应用。尤其在各种设备并不那么兼容的情况下,用二维码交换少量信息是非常便利的。

二维码的算法是通用的,二维码PHP的生成,我发现了以下几种方式:
1、某日本作者写的PHP http://www.swetake.com/qr/qr_cgi.html
2、开源社区上的PHP程序 http://phpqrcode.sourceforge.net/
3、google提供的一个接口 http://code.google.com/intl/zh-CN/apis/chart/

这里我尝试了第二种方法:下载软件包后,使用里边的方法:QRcode::png

我写了个代码是这样:

require_once(APP_PATH.'/include/phpqrcode/qrlib.php');
QRcode::png("http://www.sunboyu.cn");

这样就可以输出二维码图形了,可以用手机尝试一下。

2011
08-6