- 浏览: 144312 次
- 性别:
- 来自: 北京
最新评论
-
java_web_hack1:
HashMap和HashTable区别 几乎是百分之百会出现老 ...
面试 java -
hj01kkk:
剖析地很深入,谢谢!!
Java:单例模式的七种写法 -
hj01kkk:
很不错
Java:单例模式的七种写法 -
sunway00:
Map<Integer, String> ha ...
为KeySet遍历HashMap辟谣---效率问题 -
Shen.Yiyang:
ddlgyq 写道lyplyz 写道如果你在循环中只用key, ...
为KeySet遍历HashMap辟谣---效率问题
文章列表
近半个月过得很痛苦,主要是产品上线后,引来无数机器用户恶意攻击,不停的刷新产品各个服务入口,制造垃圾数据,消耗资源。他们的最好成绩,1秒钟 可以并发6次,赶在Database入库前,Cache进行Missing Loading前,强占这其中十几毫秒的时间,进行恶意攻击。
为了应对上述情况,做了如下调整:
更新数据时,先写Cache,然后写Database(双写),如果可以,写操作交给队列后续完成。
限制统一帐号,同一动作,同一秒钟并发次数,超过1次不做做动作,返回操作失败。
限制统一用户,每日动作次数,超限返回操作失败。
要完成上述操作,同事给我支招。用Memcached ...
一、Memcached Client简要介绍 Memcached Client目前有3种:
Memcached Client for Java
SpyMemcached
XMemcached
这三种Client一直存在各种争议:
Memcached Client for Java 比 SpyMemcached更稳定、更早、更广泛;
SpyMemcached 比 Memcached Client for Java更高效;
XMemcached 比 SpyMemcache并发效果更好。
用数据来说话,参考官方性能对比: Memcached Client for Java ...
08年的时候接触过Memcached,当时还对它的客户端产品嗤之以鼻,毕竟手工代码没有各种ORM原生XML配置方便。尽管如此,Memcached现在已经成了服务器架构里不可或缺的一部分!一、下载 1.Libevent 简单的说就是一个事件触发的网络库,Memcached离不开它。
Shell代码
wget http://cloud.github.com/downloads/libevent/libevent/libevent-2.0.17-stable.tar.gz
2.Memcached 今天的主角
Shell代码
wget h ...
在mongo根据内嵌文档查询实例
Sql代码
> db.teacher.find ()
{
“_id” : ObjectId(“4e255ad2717ed94f4532ac08″),“subject”:”Chinese”
“students” : [
{
"name" : "tom",
"age" : "14",
"hobby" : "volleyball"
},
{
"na ...
安装Spring for Mongodb
Spring项目为方便对Mongodb的操作,建立了spring-data的子项目,地址在:
http://www.springsource.org/spring-data/mongodb,目前版本是1.0.0M2阶段,已支持对 Mongodb的一系列基本操作。我们先从http://www.springsource.org/spring-data/mongodb中下载相关 的包:spring-data-document-1.0.0.M2.zip,下载解压后,将解压后的四个JAR文件放到工程路径的lib库中,本文中还 将使用Spring 3.0.4的 ...
mongodb数据库同样离不开必要的维护,如备份、恢复、导入、导出。
其实备份和恢复比导入和导出要方便些,而且一般不会出错,所以大部分时候使用备份和恢复操作就可以了
1. 备份Mongodb
mongodump -h test.xxxx.com:52000 -d dataname -o /home/aa/dev/mongodb/data
mongodump mongo导出数据库命令 mongodump --help 可以查看该命令下所有的帮助
-h 导出源
-d 要导出的数据库名称
-o 数据库要导出的位置
在终端滚过N行之后,数据库导出完成,可以去/home/aa/dev/m ...
上一篇文章: http://blog.csdn.net/wangpeng047/article/details/7705588介绍到了在MongoDB的控制台完成MongoDB的数据操作,通过前一篇文章我们对MongoDB有了全面的认识和理解。现在我们就用Java来操作MongoDB的数据。
开发环境:
System:Windows
IDE:eclipse、MyEclipse 8
Database:mongoDB
开发依赖库:
JavaEE5、mongo-2.5.3.jar、junit-4.8.2.jar
Email:hoojo_@126.com
Blog:http: ...
上一节我们讲解了对于mongodb的一些认识和概念,那么接下来就要切实步入mongodb的学习中了。
mongodb不像关系型数据库有很强大的GUI客户端,虽然mongodb也有,但功能和稳定性实在不敢恭维,所以操作mongodb我们大部分 都是用类似cmd命令的方式(mongodb称为shell操作)来完成,因此学好mongodb shell操作是非常重要的基础。
一、准备工作
1、 下载mongoDB
下载地址:http://www.mongodb.org/downloads
选择合适你的版本
相关文档:http://www.mongodb.org/display/DOCS ...
一、基本概念
MongoDB 是一个高性能,开源,无模式的文档型数据库,是当前NoSQL 数据库产品中最热门的一种。它在许多场景下可用于替代传统的关系型数据库或键/值存储方式,MongoDB 使用C++开发。MongoDB 的官方网站地址是:http://www.mongodb.org/,大家可以在此获得更详细的信息。
MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json 的bson 格式,因此可以存储比较复杂的数据类型。MongoDB 最大的特点是他支持的查询语言非常强大,其语法有点类 ...
向量空间模型请参照全文检索的基本原理的blog
问题:
在你的文章中提到了:
于是我们把所有此文档中词(term)的权重(term weight) 看作一个向量。
Document = {term1, term2, …… ,term N}
Document Vector = {weight1, weight2, …… ,weight N}
同样我们把查询语句看作一个简单的文档,也用向量来表示。
Query = {term1, term 2, …… , term N}
Query Vector = {weight1, weight2, …… , ...
影响lucene的评分的几种方法
- 博客分类:
- 搜索引擎
评分功能,在全文检索中也算是一个非常重要的模块,因为评分的好坏,直接决定着用户搜索匹配的相关性,试想一下假如用户输入了一个搜索词,搜索引擎返回了一大堆不相关的信息,或者没有层次性,重点性的结果,那么看 ...
跳表SkipList
- 博客分类:
- 数据结构
1.聊一聊跳表作者的其人其事
2. 言归正传,跳表简介
3. 跳表数据存储模型
4. 跳表的代码实现分析
5. 论文,代码下载及参考资料
<1>. 聊一聊作者的其人其事
跳表是由William Pugh发明。他在 Communications of the ACM June 1990, 33(6) 668-676 发表了Skip lists: a probabilistic alternative to balanced trees,在该论文中详细解释了跳表的数据结构和插入删除操作。
William Pugh同时还是FindBu ...
Lucene的索引文件格式
- 博客分类:
- 搜索引擎
Lucene的索引里面存了些什么,如何存放的,也即Lucene的索引文件格式,是读懂Lucene源代码的一把钥匙。
当我们真正进入到Lucene源代码之中的时候,我们会发现:
Lucene的索引过程,就是按照全文检索的基本过程,将倒排表写成此文件格式的过程。
Lucene的搜索过程,就是按照此文件格式将索引进去的信息读出来,然后计算每篇文档打分(score)的过程。
本文详细解读了Apache Lucene - Index File Formats(http://lucene.apache.org/java/2_9_0/fileformats.html) 这篇文章。
...
Lucene学习总结之二:Lucene的总体架构
- 博客分类:
- 搜索引擎
Lucene总的来说是:
一个高效的,可扩展的,全文检索库。
全部用Java实现,无须配置。
仅支持纯文本文件的索引(Indexing)和搜索(Search)。
不负责由其他格式的文件抽取纯文本文件,或从网络中抓取文件的过程。
在Lucene in action中,Lucene 的构架和过程如下图,
说明Lucene是有索引和搜索的两个过程,包含索引创建,索引,搜索三个要点。
让我们更细一些看Lucene的各组件:
被索引的文档用Document对象表示。
IndexWriter通过函数addDocument将文档添加到索引中,实现创建索引的过程。
...
Lucene学习总结之一:全文检索的基本原理
- 博客分类:
- 搜索引擎
一、总论
根据http://lucene.apache.org/java/docs/index.html定义:
Lucene是一个高效的,基于Java的全文检索库。
所以在了解Lucene之前要费一番工夫了解一下全文检索。
那么什么叫做全文检索呢?这要从我们生活中的数据说起。
我们生 ...