自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(115)
  • 资源 (6)
  • 收藏
  • 关注

原创 学一点Ceph知识:初识Ceph

传统的文件存储系统中,文件是通过文件目录进行寻址的,庞大文件目录或深层次目录结构,均会影响文件搜索的效率,Ceph底层并不存在块和文件的管理,而是管理对象并且在对象之上支持基于块和文件的存储,对象的寻址通过唯一的标识符,并存储在扁平的寻址空间中,客户端使用CRUSH算法得到一个存储对象的存储位置,从根本上解决海量文件搜索慢的问题。

2022-09-30 10:38:05 394 1

原创 SpringMVC Json自定义序列化和反序列化

需求背景需求一:SpringMVC构建的微服务系统,数据库对日期的存储是Long类型的时间戳,前端之前是默认使用Long类型时间,现在前端框架改动,要求后端响应数据时,Long类型的时间自动变成标准时间格式(yyyy-MM-dd HH:mm:ss)。涉及到这个转换的范围挺大,所有的实体表都有创建时间createTime和修改时间updateTime,目前的主要诉求也是针对这两个字段,并且在实体详情数据和列表数据都存在,需要一个统一的方法,对这两个字段进行处理。需求二:前端请求上传的JSON报文,Str

2021-01-28 10:45:48 1572 1

原创 SpringMVC日期格式属性自动转成时间戳实现源码分析

背景介绍SpringMVC搭建的微服务系统,后端数据库对时间类型的存储使用的是Long类型,而前端框架倾向于使用yyyy-MM-dd HH:mm:ss这种标准显示格式,前端JSON格式的请求报文与后台的接口交互都需要进行格式转换,这部分转换功能由后台实现。使用时我们发现,前端定义的JSON请求,时间格式为yyyy-MM-dd HH:mm:ss,如果后台定义的POJO相应的属性为Long类型,可以自动转换为时间戳,对此非常好奇,框架是如何实现这一功能的?框架选型、版本及主要功能spring boot

2020-08-11 08:01:04 963

原创 spring-cloud-gateway聚合swagger文档

需求背景spring cloud搭建微服务系统,每个业务模块使用swagger开放文档接口查询,在业务网关模块提供swagger文档聚合查询接口,可以通过选择业务模块分类查看。框架选型、版本及主要功能spring boot 2.1.6.RELEASEspring cloud Greenwich.SR3spring cloud gateway 2.1.3.RELEASE 网关组件knife4j 2.0.1 增强swagger ui样式,网关使用其starter依赖swagger bootstr

2020-08-09 08:27:13 908 1

原创 基于SpringCloud的enum枚举值国际化处理实践

背景选用SpringCloud框架搭建微服务做业务后台应用时,会涉及到大量的业务状态值定义,一般常规做法是:持久层(数据库)存储int类型的值后台系统里用阅读性好一点儿的常量将int类型的值做一层映射前端(app或浏览器)同样定义一套常量去映射这些关系前端调用后台系统的接口时,使用常量定义的int类型进行提交源于持久层存储的优化规则,int类型要比varchar类型效率高很多,这套做法也是大家接受度非常高的。只是这里有一个不是很方便的地方:状态值映射的常量定义涉及前端和后台两部分,沟通的成

2020-07-31 21:43:47 2109

原创 源码剖析@ApiImplicitParam对@RequestParam的required属性的侵入性

问题起源使用SpringCloud构建项目时,使用Swagger生成相应的接口文档是推荐的选项,Swagger能够提供页面访问,直接在网页上调试后端系统的接口, 非常方便。最近却遇到了一个有点困惑的问题,演示接口示例如下(原有功能接口带有业务实现逻辑,这里简化了接口):/** * @description: 演示类 * @author: Huang Ying **/@Api(tags = "演示类")@RestController@Slf4jpublic class DemoControl

2020-07-09 07:22:55 2990

原创 实战SpringCloud通用请求字段拦截处理

背景以SpringCloud构建的微服务系统为例,使用前后端分离的架构,每个系统都会提供一些通用的请求参数,例如移动端的系统版本信息、IMEI信息,Web端的IP信息,浏览器版本信息等,这些参数可能放在header里,也可以放在参数里,如果这些参数需要在每个方法内声明定义,一来工作量太大,二是这些通用参数与业务接口方法耦合过紧,本身就是一个不好的设计。这个问题该如何优雅地解决呢?最佳实践实现思路利用SpringMVC提供拦截器,对匹配的请求,抽取通用的header信息(假设通用字段全部放在hea

2020-07-08 07:24:35 447

原创 Elasticsearch系列---性能调优最佳实践

概要性能调优是系统架构里所有组件必不可少的话题,Elasticsearch也不例外,虽说Elasticsearch内的默认配置已经非常优秀,但这不表示它就是完美的,必要的一些实践我们还是需要了解一下。开启慢查询日志慢查询日志是性能诊断的重要利器,常规操作是设置慢查询的阀值,然后运维童鞋每天对慢日志进行例行巡查,有特别慢的查询,立即报备事件处理,其余的定期将慢日志的top n取出来进行优化。慢日志的配置在elasticsearch 6.3.1版本下是通过命令配置的,读操作和写操作可以单独设置,阀值的定

2020-06-24 06:59:44 521

原创 Elasticsearch系列---生产集群的索引管理

概要索引是我们使用Elasticsearch里最频繁的部分日常的操作都与索引有关,本篇从运维人员的视角,来玩一玩Elasticsearch的索引操作。基本操作在运维童鞋的视角里,索引的日常操作除了CRUD,还是打开关闭、压缩、alias重置,我们来了解一下。创建索引[esuser@elasticsearch02 ~]$curl -XPUT 'http://elasticsearch02:9200/music?pretty' -H 'Content-Type: application/json' -

2020-06-22 07:29:11 282

原创 Elasticsearch系列---生产数据备份恢复方案

前言生产环境中运行的组件,只要有数据存储,定时备份、灾难恢复是必修课,mysql数据库的备份方案已经非常成熟,Elasticsearch也同样有成熟的数据备份、恢复方案,我们来了解一下。概要本篇介绍Elasticsearch生产集群数据的数据备份、恢复和升级的常规操作。curl命令curl是Linux操作的必备工具,Elasticsearch生产环境的搭建,不能保证都能使用kibana访问到,而Elasticsearch Restful API都可以使用curl工具来完成访问。使用curl还有一

2020-06-12 07:12:39 538

原创 Elasticsearch系列---生产集群部署(下)

概要本篇继续讲解Elasticsearch集群部署的细节问题集群重启问题如果我们的Elasticsearch集群做了一些离线的维护操作时,如扩容磁盘,升级版本等,需要对集群进行启动,节点数较多时,从第一个节点开始启动,到最后一个节点启动完成,耗时可能较长,有时候还可能出现某几个节点因故障无法启动,排查问题、修复故障后才能加入到集群中,此时集群会干什么呢?假设10个节点的集群,每个节点有1个shard,升级后重启节点,结果有3台节点因故障未能启动,需要耗费时间排查故障,如下图所示:整个过程步骤如下

2020-06-05 07:02:32 347

原创 Elasticsearch系列---生产集群部署(上)

概要本篇开始介绍Elasticsearch生产集群的搭建及相关参数的配置。ES集群的硬件特性我们从开始编程就接触过各种各样的组件,而每种功能的组件,对硬件要求的特性都不太相同,有的需要很强的CPU计算能力,有的对内存需求量大,有的对网卡要求高等待,下面我们讨论一下ES集群对几种硬件的特性需求。CPUES集群对CPU的要求相对低一些,毕竟纯计算的比重要小一些,选用主流的CPU,2核到8核的都可以。如果有两种CPU可以挑选,一种是主频高但核数少的CPU,另一种是主频一般核数多的CPU,肯定选后一种,

2020-05-30 07:34:10 380

原创 Elasticsearch系列---Java客户端代码Demo

前言前面历经33篇内容的讲解,与ES的请求操作都是在Kibana平台上用Restful请求完成的,一直没发布Java或python的客户端代码,Restful才是运用、理解ES核心功能最直接的表达方式,但实际项目中肯定是以Java/python来完成ES请求的发起与数据处理的,前面理解了ES的核心功能,后面Java API的使用将会非常简单,剩余的未覆盖的功能API,自行查阅文档即可。概要本篇讲解Elasticsearch的客户端API开发的一些示例,以Java语言为主,介绍一些最常用,最核心的API

2020-05-23 20:58:32 617

原创 Elasticsearch系列---几个高级功能

概要本篇主要介绍一下搜索模板、映射模板、高亮搜索和地理位置的简单玩法。标准搜索模板搜索模板search tempalte高级功能之一,可以将我们的一些搜索进行模板化,使用现有模板时传入指定的参数就可以了,避免编写重复代码。对常用的功能可以利用模板进行封装,使用时更简便。这点类似于我们编程时的接口封装,将一些细节处理的东西封装成接口,供别人调用,使用者就只需要关注参数和响应结果就行,这样可以更好地提高代码复用率。下面我们来看看最基本的几种用法参数替换GET /music/children/_se

2020-05-16 06:52:54 490

原创 Elasticsearch系列---Term Vector工具探查数据

概要本篇主要介绍一个Term Vector的概念和基本使用方法。term vector是什么?每次有document数据插入时,elasticsearch除了对document进行正排、倒排索引的存储之外,如果此索引的field设置了term_vector参数,elasticsearch还会对这个的分词信息进行计算、统计,比如这个document有多少个field,每个field的值分词处理后得到的term的df值,ttf值是多少,每个term存储的位置偏移量等信息,这些统计信息统称为term vec

2020-05-09 07:50:11 460

原创 Elasticsearch系列---实现分布式锁

概要Elasticsearch在文档更新时默认使用的是乐观锁方案,而Elasticsearch利用文档的一些create限制条件,也能达到悲观锁的效果,我们一起来看一看。乐观锁与悲观锁乐观锁ES默认实现乐观锁,所有的数据更新默认使用乐观锁机制。document更新时,必须要带上currenct version,更新时与document的version进行比较,如果相同进行更新操作,不相同表...

2020-04-30 06:57:25 851

原创 Elasticsearch系列---数据建模实战

概要本篇以实际案例为背景,介绍不同技术组件对数据建模的特点,并以ES为背景,介绍常用的联合查询的利弊,最后介绍了一下文件系统分词器path_hierarchy和嵌套对象的使用。数据模型对比实际项目中,电商平台系统常见的组合Java、Mysql和Elasticsearch,以基础的部门-员工实体为案例。JavaBean类型定义如果是JavaBean类型,会这样定义public class...

2020-04-25 07:44:43 444

原创 Elasticsearch系列---聚合查询原理

概要本篇主要介绍聚合查询的内部原理,正排索引是如何建立的和优化的,fielddata的使用,最后简单介绍了聚合分析时如何选用深度优先和广度优先。正排索引聚合查询的内部原理是什么,Elastichsearch是用什么样的数据结构去执行聚合的?用倒排索引吗?工作原理我们了解到倒排索引对搜索是非常高效的,但是在排序或聚合操作方面,倒排索引就显得力不从心,例如我们举个实际案例,假设我们有两个文档...

2020-04-17 07:59:47 1070

原创 Elasticsearch系列---聚合查询(二)

### 概要### 近似聚合算法上一篇我们演练的聚合算法,在Elasticsearch分布式场景下,其实是有略微区别的,简单来说我们可以把这些聚合算法分成两类,易并行算法和不易并行算法。#### 易并行算法比如max,min,就是多个node或shard可以单独并行计算,并且可以随着机器数的线性增长而横向扩展,没有任何协调操作,得到的结果返回给Coordinate Node时的数据...

2020-04-10 07:03:35 614

原创 Elasticsearch系列---聚合查询(一)

概要Elasticsearch的聚合查询,跟数据库的聚合查询效果是一样的,我们可以将二者拿来对比学习,如求和、求平均值、求最大最小等等。基础概念bucket数据分组,一些数据按照某个字段进行bucket划分,这个字段值相同的数据放到一个bucket中。可以理解成Java中的Map<String, List>结构,类似于Mysql中的group by后的查询结果。metric:...

2020-04-03 06:54:41 880

原创 Elasticsearch系列---使用中文分词器

前言前面的案例使用standard、english分词器,是英文原生的分词器,对中文分词支持不太好。中文作为全球最优美、最复杂的语言,目前中文分词器较多,ik-analyzer、结巴中文分词、THULAC、NLPIR和阿里的aliws都是非常优秀的,我们以ik-analyzer作为讲解的重点,其它分词器可以举一反三。概要本篇主要介绍中文分词器ik-analyzer的安装使用、自定义词库以及热...

2020-03-28 10:50:02 874

原创 Elasticsearch系列---前缀搜索和模糊搜索

概要本篇我们介绍一下部分搜索的几种玩法,我们经常使用的浏览器搜索框,输入时会弹出下拉提示,也是基于局部搜索原理实现的。前缀搜索我们在前面了解的搜索,词条是最小的匹配单位,也是倒排索引中存在的词,现在我们来聊聊部分匹配的话题,只匹配一个词条中的一部分内容,相当于mysql的"where content like ‘%love%’",在数据库里一眼就能发现这种查询是不走索引的,效率非常低。El...

2020-03-22 08:42:54 1075

原创 Elasticsearch系列---近似匹配

概要前面的match查询只能告诉我们,搜索的文档里有这些关键词,但无法告知词语之间的顺序,而不同的词语顺序表达的意思可能完全相反。我们想要的,是跟我们期望搜索的语义要相似,这就需要短语匹配和近似匹配来控制了。短语搜索短语搜索即把一小段话完完整整地进行搜索,必须保证被搜索的文档内有一模一样的才行,如下:GET /music/children/_search{ "query": { ...

2020-03-22 08:41:37 730

原创 Elasticsearch系列---多字段搜索

概要本篇介绍一下multi_match的best_fields、most_fields和cross_fields三种语法的场景和简单示例。最佳字段bool查询采取"more-matches-is-better"匹配越多分越高的方式,所以每条match语句的评分结果会被加在一起,从而为每个文档提供最终的分数_score。能与两条语句同时匹配的文档会比只与一条语句匹配的文档得分要高,但有时这样也...

2020-03-22 08:19:14 857

原创 Elasticsearch系列---深入全文搜索

概要本篇介绍怎样在全文字段中搜索到最相关的文档,包含手动控制搜索的精准度,搜索条件权重控制。手动控制搜索的精准度搜索的两个重要维度:相关性(Relevance)和分析(Analysis)。相关性是评价查询条件与结果的相关程度,并对相关程度进行排序,一般使用TF/IDF方法。分析是指将索引文档与查询条件规范化的一个过程,目的是建立倒排索引时,尽可能地提升召回率。match查询原理匹配查...

2020-03-03 07:48:19 1068

原创 Elasticsearch系列---结构化搜索

概要结构化搜索针对日期、时间、数字等结构化数据的搜索,它们有自己的格式,我们可以对它们进行范围,比较大小等逻辑操作,这些逻辑操作得到的结果非黑即白,要么符合条件在结果集里,要么不符合条件在结果集之外,没有那种相似的概念。前言结构化搜索将会有大量的搜索实例,我们将"音乐APP"作为主要的案例背景,去开发一些跟音乐APP相关的搜索或数据分析,有助力于我们理解实战的目标,顺带巩固一下学习的知识。...

2020-01-23 08:13:25 1247

原创 Elasticsearch系列---shard内部原理

概要本篇我们来看看shard内部的一些操作原理,了解一下人家是怎么玩的。倒排索引倒排索引的结构,是非常适合用来做搜索的,Elasticsearch会为索引的每个index为analyzed的字段建立倒排索引。基本结构倒排索引包含以下几个部分:某个关键词的doc list某个关键词的所有doc的数量IDF(inverse document frequency)某个关键词在每个doc...

2020-01-23 08:10:25 1535

原创 Elasticsearch系列---实战零停机重建索引

前言我们使用Elasticsearch索引文档时,最理想的情况是文档JSON结构是确定的,数据源源不断地灌进来即可,但实际情况中,没人能够阻拦需求的变更,在项目的某个版本,可能会对原有的文档结构造成冲击,增加新的字段还好,如果要修改原有的字段,只能重建索引了。概要本篇以实战方式讲解如何零停机完成索引重建的三种方案。外部数据导入方案整体介绍系统架构设计中,有关系型数据库用来存储数据,E...

2020-01-18 10:01:13 1399

转载 Elasticsearch系列---索引管理

概要Elasticsearch让索引创建变得非常简单,只要索引一条新的数据,索引会自动创建出来,但随着数据量的增加,我们开始有了索引优化和搜索优化的需求之后,就会发现自动创建的索引在某些方面不能非常完美的适应我们的需求,我们开始考虑手动创建适合我们业务需求的索引。索引的CRUD为了更好地贴切我们的业务数据需求,我们开始更精细的管理我们的索引。创建索引创建索引的语法示例如下:PUT /m...

2020-01-18 09:33:57 1065

原创 Elasticsearch系列---搜索执行过程及scroll游标查询

概要本篇主要介绍一下分布式环境中搜索的两阶段执行过程。两阶段搜索过程回顾我们之前的CRUD操作,因为只对单个文档进行处理,文档的唯一性很容易确定,并且很容易知道是此文档在哪个node,哪个shard中。但搜索比CRUD复杂,符合搜索条件的文档,可能散落在各个node、各个shard中,我们需要找到匹配的文档,并且把从各个node,各个shard返回的结果进行汇总、排序,组成一个最终的结果排...

2020-01-18 09:24:24 1496

原创 Elasticsearch系列---相关性评分算法及正排索引

概要上一篇中多次提到了按相关性评分,本篇我们就来简单了解一下相关性评分的算法,以及正排索引排序的优势。评分算法Elasticsearch进行全文搜索时,Boolean Model是匹配的基础,先用boolean model将匹配的文档挑选出来,然后再运用评分函数计算相关度,参与的函数如我们提到的TF/IDF、Length Norm等,再加上一些控制权重的参数设置,得到最后的评分。Boole...

2020-01-05 08:12:04 1543

原创 Elasticsearch系列---实战搜索语法

概要本篇介绍Query DSL的语法案例,查询语句的调试,以及排序的相关内容。基本语法空查询最简单的搜索命令,不指定索引和类型的空搜索,它将返回集群下所有索引的所有文档(默认显示10条):GET /_search{}搜索多个索引GET /index1,index2/_doc/_search{}指定分页搜索GET /_search{ "from": 0, "s...

2020-01-01 15:52:57 1148

原创 我与《Java异步编程实战》的故事

我是一名程序员,过着996的生活。但我创造了一个世界,这个世界很忙碌,每天不停地运转,在这个世界里,我是它们的造物者,掌管着所有人的生杀大权。这个世界由多个部门组成,为了使这个世界有条不紊地运转,我费了很多功夫,还需要定时地检查运转情况,比如谁偷懒了,谁累趴了等等。这个世界都是同步执行的,看似平静,但随着外面世界的变化,这种平静慢慢地被打破了。首当其冲的是我们的网络驿站,主管部门是...

2019-12-30 17:47:18 1291

原创 Elasticsearch系列---定制mapping

概要本篇接着前一篇内容,继续介绍mapping信息,重点倾向于自定义mapping、自定义对象以及数组集合类的底层结构。自定义mapping上一篇文章介绍的都是Elasticsearch的自动mapping,我们在创建索引时,可以先指定好mapping的信息,还是以music索引为例:PUT /music{ "mappings": { "children": { ...

2019-12-27 07:29:36 1158

原创 Elasticsearch系列---初识mapping

概要本篇简单介绍一下field数据类型mapping的相关知识。mapping是什么?前面几篇的实战案例,我们向Elasticsearch索引数据时,只是简单地把JSON文本放在请求体里,至于JSON里的field类型,存储到ES里是什么类型,中间是怎么做的映射,这个映射过程,就是mapping要解决的问题。mapping简单来说,就是解决JSON文本内容到field类型映射关系的定义。将...

2019-12-27 07:15:14 1197

原创 Elasticsearch系列---倒排索引原理与分词器

概要本篇主要讲解倒排索引的基本原理以及ES常用的几种分词器介绍。倒排索引的建立过程倒排索引是搜索引擎中常见的索引方法,用来存储在全文搜索下某个单词在一个文档中存储位置的映射。通过倒排索引,我们输入一个关键词,可以非常快地获取包含这个关键词的文档列表。我们先看英文的,假设我们有两个文档:I have a friend who loves smilelove me, I love you...

2019-12-23 08:05:05 1024

原创 Elasticsearch系列---搜索分页和deep paging问题

概要本篇从介绍搜索分页为起点,简单阐述分页式数据搜索与原有集中式数据搜索思维方式的差异,就分页问题对deep paging问题的现象进行分析,最后介绍分页式系统top N的案例。搜索分页语法Elasticsearch中search语法有from和size两个参数用来实现分页的效果:size:显示应该返回的结果数量,默认是10。from:显示查询数据的偏移量,即应该跳过的初始结果数量,默...

2019-12-20 07:14:56 630

原创 Elasticsearch系列---初识搜索

概要本篇主要介绍搜索的报文结构含义、搜索超时时间的处理过程,提及了一下多索引搜索和轻量搜索,最后将精确搜索与全文搜索做了简单的对比。空搜索搜索API最简单的形式是不指定索引和类型的空搜索,它将返回集群下所有索引的所有文档(默认显示10条):GET /_search响应的结果示例(有筛选,只取了一条document作为示例):{ "took": 2, "timed_out": f...

2019-12-20 07:06:02 1111

原创 我与《深入理解Java虚拟机-JVM高级特性与最佳实践》的故事

很早很早就听过周老师的大名,最早接触到这本书是从第二版小蓝开始的,现在小蓝还躺在我家的书架里,时不时拿出来翻一翻,作为一枚Java程序猿,没拜读过周老师的《深入理解Java虚拟机-JVM高级特性与最佳实践》都不能算做入门,不得不说,在JVM领域,这已经是最权威的书之一了。上学时大学时学的是计算机专业,在刚开始学习Java的时候,就知道Java的可移植性、一次编译四处运行等优秀的形容词,那时...

2019-12-19 15:44:27 192

原创 Elasticsearch系列---补充几个知识点

概要bulk api有趣的json格式前面《简单入门实战》一节中,有介绍bulk的使用示例,大家一定很奇怪,还有这么有趣的JSON格式,必须严格照他的换行来做,我想把JSON搞得美观可读性好一点,居然给我报错!{"action": {"meta"}}\n{"data"}\n{"action": {"meta"}}\n{"data"}\n它为什么要这样规定?我们想想bulk设计的...

2019-12-19 07:38:20 940

magent-0.6-修正版

magent是一款开源的Memcached代理服务器软件,其项目网址为:http://code.google.com/p/memagent/ 安装完后显示版本为0.6,如下: [root@localhost /]# magent please provide -s "ip:port" argument memcached agent v0.6 Build-Date: Jan 1 2016 19:23:12 Usage: -h this message -u uid -g gid -p port, default is 11211. (0 to disable tcp support) -s ip:port, set memcached server ip and port -b ip:port, set backup memcached server ip and port -l ip, local bind ip address, default is 0.0.0.0 -n number, set max connections, default is 4096 -D don't go to background -k use ketama key allocation algorithm -f file, unix socket path to listen on. default is off -i number, set max keep alive connections for one memcached server, default is 20 -v verbose 修正问题: 1、安装过程中出现SSIZE_MAX无法找到的问题。

2016-01-02

magent-0.5-修正版

magent是一款开源的Memcached代理服务器软件,其项目网址为:http://code.google.com/p/memagent/ 安装完后显示版本为0.4,如下: [root@localhost /]# magent please provide -s "ip:port" argument memcached agent v0.4 Build-Date: Jan 1 2016 19:13:08 Usage: -h this message -u uid -g gid -p port, default is 11211. (0 to disable tcp support) -s ip:port, set memcached server ip and port -b ip:port, set backup memcached server ip and port -l ip, local bind ip address, default is 0.0.0.0 -n number, set max connections, default is 4096 -D don't go to background -k use ketama key allocation algorithm -f file, unix socket path to listen on. default is off -i number, set max keep alive connections for one memcached server, default is 20 -v verbose 修正问题: 1、安装过程中出现SSIZE_MAX无法找到的问题。

2016-01-02

magent-0.6

magent是一款开源的Memcached代理服务器软件,其项目网址为:http://code.google.com/p/memagent/ 安装完后显示版本为0.6,如下: [root@localhost /]# magent please provide -s "ip:port" argument memcached agent v0.6 Build-Date: Jan 1 2016 19:23:12 Usage: -h this message -u uid -g gid -p port, default is 11211. (0 to disable tcp support) -s ip:port, set memcached server ip and port -b ip:port, set backup memcached server ip and port -l ip, local bind ip address, default is 0.0.0.0 -n number, set max connections, default is 4096 -D don't go to background -k use ketama key allocation algorithm -f file, unix socket path to listen on. default is off -i number, set max keep alive connections for one memcached server, default is 20 -v verbose 此工具包为官网发布的原包,未做任何修改。

2016-01-02

magent-0.5

magent是一款开源的Memcached代理服务器软件,其项目网址为:http://code.google.com/p/memagent/ 安装完后显示版本为0.4,如下: [root@localhost /]# magent please provide -s "ip:port" argument memcached agent v0.4 Build-Date: Jan 1 2016 19:13:08 Usage: -h this message -u uid -g gid -p port, default is 11211. (0 to disable tcp support) -s ip:port, set memcached server ip and port -b ip:port, set backup memcached server ip and port -l ip, local bind ip address, default is 0.0.0.0 -n number, set max connections, default is 4096 -D don't go to background -k use ketama key allocation algorithm -f file, unix socket path to listen on. default is off -i number, set max keep alive connections for one memcached server, default is 20 -v verbose 此工具包为官网发布的原包,未做任何修改。

2016-01-02

jdk-debug安装jar包1

jdk 1.6可调试的jar包,双击安装后可以使用。 注意压缩包分为两卷,解压后请将.bak后缀去掉即可。

2015-12-15

jdk-debug安装jar包2

jdk 1.6可调试的jar包,双击安装后可以使用。 注意压缩包分为两卷,解压后请将.bak后缀去掉即可。

2015-12-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除