- 博客(27)
- 资源 (8)
- 问答 (1)
- 收藏
- 关注
转载 【MongoDb入门】mongodb之使用explain和hint性能分析和优化
当你第一眼看到explain和hint的时候,第一个反应就是mysql中所谓的这两个关键词,确实可以看出,这个就是在mysql中借鉴过来的,既然是借鉴过来的,我想大家都知道这两个关键字的用处,话不多说,速速观看~~~ 一:explain演示1. 构建数据为了方便演示,我需要create ten data to inventory,而且还是要在no index 的情况下,比...
2016-11-27 16:11:21 3468
转载 【MongoDb入门】mongodb 3.x 之实用新功能窥看
使用TTLIndex做Cache处理mongodb一直都在不断的更新,不断的发展,那些非常好玩也非常实用的功能都逐步加入到了mongodb中,这不就有了本篇对ttlindex的介绍,刚好我们的生产业务场景中就有这个一个案例。。。 一:案例分析 我们生产的推荐系统要给用户发送短信和邮件的关联营销。第一波是:当用户在淘宝上下订单之后,我们发送一次短信和邮件千人千面,第二波...
2016-11-27 16:10:14 1116
转载 【MongoDb入门】别让你的mongodb宕机了
好久没过来吹牛了,前段时间一直赶项目,没有时间来更新博客,项目也终于赶完了,接下来就要面临双十一这场惊心动魄的处女秀考验,我们项目中会有一个wcf集群,而集群地址则放在mongodb中,所以mongodb的核心地位可想而知,如果mongodb挂掉,整个项目也就陷入瘫痪,想让mongodb不宕机,最简单的方法就是要做双机热备,跟传统的关系型数据库的双机热备模式一样,一个主服务器,一个备份...
2016-11-27 16:08:11 3480
转载 【MongoDb入门】驱动实践
说说C#驱动对mongodb的操作,目前驱动有两种:官方驱动和samus驱动,不过我个人还是喜欢后者,因为提供了丰富的linq操作,相当方便。 官方驱动:https://github.com/mongodb/mongo-csharp-driver/downloads。下载后,还提供了一个酷似msdn的帮助文档。samus驱动:https://github.com/samus/mon...
2016-11-27 16:06:32 777
转载 【MongoDb入门】运维技术
这一篇我们以管理员的视角来看mongodb,作为一名管理员,我们经常接触到的主要有4个方面:1. 安装部署2. 状态监控3. 安全认证4. 备份和恢复,下面我们就一点一点的讲解。 一:安装部署 我之前的文章都是采用console程序来承载,不过在生产环境中这并不是最佳实践,谁也不愿意在机器重启后满地找牙似找mon
2016-11-27 16:04:56 267
转载 【MongoDb入门】 分片技术
在mongodb里面存在另一种集群,就是分片技术,跟sql server的表分区类似,我们知道当数据量达到T级别的时候,我们的磁盘,内存就吃不消了,针对这样的场景我们该如何应对。 一:分片 mongodb采用将集合进行拆分,然后将拆分的数据均摊到几个片上的一种解决方案。 下面我对这张图解释一下: 人脸: 代表客户端,客户端肯定说,你...
2016-11-27 16:04:10 285
转载 【MongoDb入门】 主从复制
从这一篇开始我们主要讨论mongodb的部署技术。 我们知道sql server能够做到读写分离,双机热备份和集群部署,当然mongodb也能做到,实际应用中我们不希望数据库采用单点部署,如果碰到数据库宕机或者被毁灭性破坏那是多么的糟糕。 一:主从复制1: 首先看看模型图 2: 从上面的图形中我们可以分析出这种架构有如下的好处
2016-11-27 16:03:33 232
转载 【MongoDb入门】 索引操作
今天分享下mongodb中关于索引的基本操作,我们日常做开发都避免不了要对程序进行性能优化,而程序的操作无非就是CURD,通常我们又会花费50%的时间在R上面,因为Read操作对用户来说是非常敏感的,处理不好就会被人唾弃,呵呵。 从算法上来说有5种经典的查找,具体的可以参见我的算法速成系列,这其中就包括我们今天所说的“索引查找”,如果大家对sqlserver比较了解的
2016-11-27 16:02:37 254
转载 【MongoDb入门】细说高级操作
今天跟大家分享一下mongodb中比较好玩的知识,主要包括:聚合,游标。一: 聚合 常见的聚合操作跟sql server一样,有:count,distinct,group,mapReduce。<1> count count是最简单,最容易,也是最常用的聚合工具,它的使用跟我们C#里面的count使用简直一模一样。 <2&...
2016-11-27 16:01:49 298
转载 【MongoDb入门】细说增删查改
看过上一篇,相信大家都会知道如何开启mongodb了,这篇就细说下其中的增删查改,首先当我们用上一篇同样的方式打开mongodb,突然傻眼了,擦,竟然开启不了,仔细观察“划线区域“的信息,发现db文件夹下有一个类似的”lock file”阻止了mongodb的开启,接下来我们要做的就是干掉它,之后,开启成功,关于mongodb的管理方式将在后续文章分享。 一
2016-11-27 15:59:40 434
转载 【MongoDb入门】基础入门
关于mongodb的好处,优点之类的这里就不说了,唯一要讲的一点就是mongodb中有三元素:数据库,集合,文档,其中“集合”就是对应关系数据库中的“表”,“文档”对应“行”。 一: 下载 上MongoDB官网 ,我们发现有32bit和64bit,这个就要看你系统了,不过这里有两点注意: ①:根据业界规则,偶数为“稳定版”(如:1
2016-11-27 15:58:57 257
原创 【常用经典算法总结系列一】AC自动机
我要检查一篇文章中是否有某些敏感词,这其实就是多模式匹配的问题。当然你也可以用KMP算法求出,那么它的时间复杂度为O(c*(m+n)),c:为模式串的个数。m:为模式串的长度,n:为正文的长度,那么这个复杂度就不再是线性了,我们学算法就是希望能把要解决的问题优化到极致,这不,AC自动机就派上用场了。 其实AC自动机就是Trie树的一个活用,活用点就是灌输了kmp的思想,从而再次把时...
2016-11-27 15:46:35 839
原创 分布式架构中一致性解决方案——Zookeeper集群搭建
当我们的项目在不知不觉中做大了之后,各种问题就出来了,真jb头疼,比如性能,业务系统的并行计算的一致性协调问题,比如分布式架构的事务问题,我们需要多台机器共同commit事务,经典的案例当然是银行转账,支付宝转账这种,如果是一台机器的话,这个还是很方便的,windows中自带了一个事务协调器mstsc,但是呢,你那种很大很牛逼的项目不可能全是windows服务器,对吧,有些人为了解决这个问...
2016-11-27 15:42:55 607
原创 分布式缓存--redis和memcache
redis 日常开发中,总会接触到一些好玩的东西,比如这篇的redis,一说到redis,可能就有人跟memcache做比较了,是呀,memcache只能说是简单的kv内存数据结构,而redis支持的数据类型就丰富多了,当然最能让人看上眼的就是SortedSet。有了它,我们就可以玩一些“贪心”的问题,比如适合“贪心”的优先队列,说到优先队列,我们以前实现了仅仅是内存形式...
2016-11-27 15:40:56 2792 1
转载 大型网站架构之系列(4)——分布式中的异步通信
我们知道在面向对象编程中,总会想着各种办法来实现代码的解耦,从而让项目中的各种人员面对自己熟悉的业务进行开发,做到术业有专攻,比如大家非常熟悉的三层架构,MVC,MVP以及MVVM模式,让前端设计专注于html的制作,让后端开发人员更加专注于业务逻辑的编写,可以看到,我们这么做的目的就是想最大程度的做到系统的可扩展和可维护性,那么我们的大型网站是不是也要遵守这种模式呢? 一:...
2016-11-27 15:38:30 373
转载 大型网站架构之系列(3)——死了都要说的缓存
说到缓存,我想大家跟我一样都很兴奋,当我们遭遇网站性能瓶颈的时候,缓存是一剂强心针,也是一粒紧急妈富隆,从而在优化网站性能方面冠上了第一定律的帽子,我们前年在做淘应用的时候,就遭遇了性能瓶颈,短时间内采用缓存紧急优化,给我们大优化之前争取了宝贵的时间。 一:缓存的种类 要说缓存有多少种,太多了,比如浏览器缓存,文件缓存,片段缓存,数据库缓存等等,合理利用这些缓存则能大...
2016-11-27 15:37:53 330
转载 大型网站架构之系列(2)——纵观历史演变(下)
这篇文章本来准备前几天就得写的,谁也没想到这段时间公司的RC太多了,含酸苦逼的加班,加班。。。所以在大一点的公司上班,写代码的责任心一定要强,或许就因为你的一些小bug,给公司带来不少损失。。。这在以前公司真的没多大体会的。 好了,继续说说架构的演变,从第四代架构中可以看到,我们通过做应用程序层的负载均衡可以比较完美的解决了在整个架构中让应用程序层不再成为瓶颈,通过A10,我们可...
2016-11-27 15:37:13 345
转载 大型网站架构之系列(1)——纵观历史演变(上)
我们知道一个网站都是随着业务的发展,逐渐演变成几万服务器,几亿用户数的大型网站,经历了若干年,甚至上十年的发展成为大型网站,然而真正亲身经历这个发展过程的人已经不多了,这种人也是拿着公司股票,赶都赶不走的人,所以正因为很多人没有亲身经历过,所以对架构的演变没有深刻的了解,包括我自己在内,不过没吃过猪肉,也看过猪跑。。。 一:第一代架构 这年头创业大多都是从穷屌丝开始的,...
2016-11-27 14:59:26 296
原创 【云计算】什么是云计算
云计算(Cloud Computing)是分布式计算(Distributed Computing)、并行计算(Parallel Computing)、效用计算(Utility Computing)、 网络存储(Network Storage Technologies)、虚拟化(Virtualization)、负载均衡(Load Balance)、热备冗余(High Available)等传统计算机...
2016-11-12 11:08:51 790
原创 【网络安全】HTTPS以及socket实现代码(1)
服务端[java] view plain copy import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.FileInputStream; import java.io.InputStream; import java.io.OutputStr...
2016-11-10 18:10:00 913
原创 【Spring】@Scheduled执行定时任务与cron表达式
1 配置文件形式执行定时任务1 1.X 版本与spring结合使用实例1.1 常用maven管理 pom.xml文件 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="htt...
2016-11-02 15:37:32 11599
转载 【状态机】使用JAVA实现的具有分布式调度功能的状态机
欢迎关注公众号:Asshole是啥?Asshole 是具有流程编排能力的分布式事件处理框架,如图Asshole能解决的问题l 可扩展的事件异步处理使用场景:需要异步处理解耦的地方PS:asshole对新增加一个事件及处理十分简单,只需要继承Event类和AbstractHandler类即可 l 复用基本事件进行流程编排 使用场景:将碎...
2016-11-02 11:37:32 3013
原创 【状态模式】Java设计模式之状态模式
何时使用State模式在实际使用中比较多,适合“状态”的切换。因为我们经常会使用If else if else 进行状态切换,如果针对状态的这样判断切换反复出现,我们就要联想到是否可以采取State模式了。这里要阐述的是"开关切换状态" 和" 一般的状态判断"是有一些区别的," 一般的状态判断"也是有 if..elseif结构,例如:[java] view plain copy pr...
2016-11-02 11:36:19 427
原创 【HTTP】(1)HTTP 协议入门
引言HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。HTTP协议的主要特点可概括如下:1.支持客户/服...
2016-11-01 21:14:13 555
原创 【String】String与StringBuffer
在java中有3个类来负责字符的操作。 1.Character 是进行单个字符操作的, 2.String 对一串字符进行操作。不可变类。 3.StringBuffer 也是对一串字符进行操作,但是可变类。 String: 是对象不是原始类型. 为不可变对象,一旦被创建,就不能修改它的值. 对于已经存在的String对象的修改都是重新创建一个新的对象,然后把
2016-11-01 11:28:03 263
算法第四版-扫描版-Robert Sedgewick
2018-11-11
java抓包需要的包
2014-12-30
java一个mina框架的传输对象的问题
2014-08-21
TA创建的收藏夹 TA关注的收藏夹
TA关注的人