51CTO博客开发
最近公司在开发一个新工具,该工序会长时间的运行,中间过程可以简单的描述为:1、从DB查询数据;2、计算;3、存入DB。但是因为数据量非常大(亿级别)、数据源特别多、计算也别复杂,我们发现计算效率很低。于是我们想分析到底是哪个步骤慢。 一般的方式会想到,在要分析的代码段前后获取时间,再进行相减,得到运行时间。如下: &nbs
Spring JDBC提供了一套JDBC抽象框架,用于简化JDBC开发。 Spring主要提供JDBC模板方式、关系数据库对象化方式、SimpleJdbc方式三种方式来简化JDBC编程,这三种方式就是Spring JDBC的工作模式:JDBC模板方式:Spring JDBC框架提供以下几种模板类来简化
前面几篇关于solr的文章在导入数据进行分词、索引,都是通过导入本地的XML或者直接在页面上填写XML。但是现实中,很多情况下数据源是来自于数据库的。所以,本文就以mysql为例进行一个较详细的介绍。其使用到的是“dataimport”。 1、在conf\solrconfig.xml中添加,增加导入数据功
一、为何使用多core? Solr实例支持多core比启用多index要好(do more)。多core同时解决了在生产环境下的一些关键需求: 1.重建索引 2.测试
累觉不爱啊!昨日本文已将近完工,看到文本编辑器提示自动保存了草稿也就没做保存操作。可惜悲剧还是来了,所有的内容都没有了!今日只得从头来过了。 好吧,废话不多说,继续solr的学习。笔者上篇文章《solr(一)---介绍与安装》介绍了solr的安装。安装好之后是不是不知道怎么操作呢?另外是不是不理解solr
最近公司招新人,有两位应届硕士生同学过来面试。一看简历上,都有solr的开发经验。于是想,“这没整过啊!我怎么面呢?”于是,自己找资料,进行了一段时间的学习!总算是有个学习成果吧!现写下这一系列文章进行记录。也帮助刚学习solr的同学进行学习。一、什么是solr? Solr是一个基于Lucene的Java
一、hadoop、Storm该选哪一个?为了区别hadoop和Storm,该部分将回答如下问题:1.hadoop、Storm各是什么运算2.Storm为什么被称之为流式计算系统3.hadoop适合什么场景,什么情况下使用hadoop4.什么是吞吐量首先整体认识:Hadoop是磁盘级计算,进行计算时,数据在磁盘上,需要读写磁盘;Storm是内存级计算,数据直接通过网络导入内存。读写内存比读写磁盘速度
最近因为一直在用的一个系统,在登录是老是出现某个问题,而这个系统是用CAS实现的单点登录。于是,就又回去重新了解一边CAS的认证流程,以及在Spring Security上的实现。这次回顾,让我对整个流程有了更深入的理解。在这里特意做一个总结和记录。 本人的另一篇讲述Spring Security3.1配
笔者组内之前有一个“XXX管理系统”是用django开发的。该项目包含web代码及相关的脚本。因为之前开发的同事早已离职,且组内只有笔者之前接触过python,故,自然而然的,笔者接手了该项目。 之前从没接触过django,只是写过一些python脚本,对脚本的web框架,之前了解过ruby的ruby o
最近工作上需要做一个大数据量的读写操作,为了实现高效率,想到了用多线程实现。在网上查一些资料,发现在JDK 1.5之后有了一个非常方便的东东---Executor来实现多线程。 从JDK 1.5开始,增加了java.util.concurrent包,它的引入大大简化了多线程程序的开发。 &nb
根据学习的RabbitMQ知识配了一个SpringMVC的实现。这是一个完整的工程,view的部分使用freeMarker,持久化操作是通过mybatis实现。 整个工程的目录结构如下:src下的相关包的解释: controller:控制器; &nb
一,基本概念 MQ是消费-生产者模型的一个典型的代表,一端往消息队列中不断写入消息,而另一端则可以读取或者订阅队列中的消息。MQ和JMS类似,但不同的是JMS是SUN JAVA消息中间件服务的一个标准和API定义,而MQ则是遵循了AMQP协议的具体实现和产品。 RabbitMQ是一个在AMQP基础上完整的,
之前在项目中有用到过JMS以及ActiveMQ,这一次在新项目中又要用到MQ,感觉可以尝试下新东西,就下手开始学习RabbitMQ了。 RabbitMQ的官网:http://www.rabbitmq.com/ RabbitMQ支持各种操作系统,包括Unix\Linux及
Linux安装及配置:http://cocos.iteye.com/blog/1050291http://tech.it168.com/a2011/0830/1239/000001239923.shtmlwindows安装:http://zheng12tian.iteye.com/blog/1471726http://www.newasp.net/soft/67186.html配置文件介绍:htt
由于redis不像memcached已经实现了服务器端的sharding,当前采用的是master-slave模式:由master完成读-写操作,而slave只能做读操作。(预计要在redis3.0才能实现真正的sharding。)所以在设计redis集群系统时,难免会遇到“扩容”及“单点故障”等问题。1.扩容问题: 因为使用了一致性哈稀进行分
一、相关jar包 主要用到的是jedis的核心包,笔者用到的是2.1.0版;另根据“池”的应用等还需要用到相关jar包。下图是笔者建立的简单的jedis测试project图: jar包的文档可参考:http://www.boyunjian.com/javadoc/org.apache.servicemix.
一、介绍 Redis的master/slave数据复制方式可以是一主一从或者是一主多从的方式,Redis在master是非阻塞模式,也就是说在slave执行数据同步的时候,master是可以接受客户端的请求的,并不影响同步数据的一致性,然而在slave端是阻塞模式的,slave在同步master数据时,并不能够响应客户端的查询。  
因为最近项目会用到redis,之前在项目中会用到memcached,所以对redis进行了一番研究,这里做一个较详细的整理以供分享!一、redis介绍 redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类keyvalue存储的不足,在部分场合可以对关系数据库起到很好的补充作用。它跟memcached类似,不过数据可以持
sharding是将一个大数据库按照一定规则拆分成多个小数据库的一门技术. 当我们的应用数据量越来越多,访问量越来越大的时候,我们会作何选择?继续提升数据库服务器的性能还是采用一项技术让数据库平滑扩展?虽然伴随着服务器的更新换代,性能越来越好,更换更加豪华的服务器能暂时解决这个问题
1. Memcached简介Memcached是以LiveJurnal旗下Danga Interactive公司的Bard Fitzpatric为首开发的高性能分布式内存缓存服务器。其本质上就是一个内存key-value数据库,但是不支持数据的持久化,服务器关闭之后数据全部丢失。Memcached使用C语言开发,在大多数像Linux、BSD和Solaris等POSIX
在不用cdn的情况下,nginx做负载获取真实ip时,nginx配置如下:proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forward
一、在本人的《web.xml加载顺序》文章中介绍到了,在web.xml中配置的加载顺序为: ServletContext-> context-param ->listener -> filter -> servlet本文就结合该加载顺序,详细的介绍一个较完整的工程的配置。二、该较完整的工程应该包括:1、应用Spring;2、应用SpringMVC;
一:对于springMVC的controller,有时候会需要记录里面接口映射的信息。比如:@Controller public class RoleManagementController { ...... /* * 初始化角色页面 */ @RequestMapping(value = "rolesList.s", method = RequestMethod.GET
一1、启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>两个结点。2、紧接着,会创建一个ServletContext(servlet上下文),这个web项目的所有部分都将共享这个上下文。3、容器将<context-param>转换为键值对,并交给servletContext。4、容器创
前两天QA提上来一个问题,说是页面上会弹出框来。本以为是我的测试JS代码忘记删掉了,后来再看才发现是有人提交测试评论时,故意协商了JS代码,页面直接解析该JS就有弹出框了,代码如下: <script>alert("1")</script> &nbs
滚动到顶部(Scroll to top)按钮,你可能会在很多站点看到这个很人性化的功能,适合页面较长内容较多的页面,很多 WordPress主题中也加入了这个小功能,几乎是博客必备装饰,呵呵...下面是几个基于jQuery的滚动到顶部(Scroll to top)按钮脚本及Wordpress插件,使用很方便效果也类似。1.Animated Scroll to Top2.jQuery topLink
初始化参数对于dialog来说,首先需要进行初始化,在调用dialog函数的时候,如果没有传递参数,或者传递了一个对象,那么就表示在初始化一个对话框。没有参数,表示按照默认的设置初始化对话框,在当前最新版本的jQueryUI1.8.9中,dialog支持下列属性。autoOpen初始化之后,是否立即显示对话框,默认为truemodal是否模式对话框,默认为falsecloseOnEscape当用户
这几天学习了一下SpringSecurity3.1,从官网下载了SpringSecurity3.1版本进行练习,以下大部分来自网友的分享,自己加了一点自己的理解。一、数据库结构先来看一下数据库结构,采用的是基于角色-资源-用户的权限管理设计。(MySql数据库)为了节省篇章,只对比较重要的字段进行注释。1.用户表UsersCREATETABLE`users`(--账号是否有限1.是0.否`enab
# uname -a # 查看内核/操作系统/CPU信息# head -n 1 /etc/issue # 查看操作系统版本# cat /proc/cpuinfo # 查看CPU信息# hostname # 查看计算机名# 
Copyright © 2005-2023 51CTO.COM 版权所有 京ICP证060544号