技术使用总结
文章平均质量分 65
树叶要走风怎么挽留
六块腹肌的程序员小哥哥
展开
-
redisson常用APi-Example
【代码】redisson常用APi-Example。原创 2023-08-01 11:11:20 · 999 阅读 · 0 评论 -
redisson分布式锁学习
Redisson是一个在Redis的基础上实现的Java驻内存数据网格(In-Memory Data Grid)。它不仅提供了一系列的分布式的Java常用对象还提供了许多分布式服务。其中包括(BitSet,SetSortedSetMapListQueueLockAtomicLongRedisson提供了一个监控锁的看门狗,它的作用是在Redisson实例被关闭前,不断的延长锁的有效期,也就是说,如果一个拿到锁的线程一直没有完成逻辑,那么看门狗会帮助线程不断的延长锁超时时间,锁不会因为超时而被释放。原创 2023-07-31 16:32:00 · 729 阅读 · 0 评论 -
Redisson学习之项目引入reidsson— 基于redisson-spring-boot-starter
【代码】Redisson学习之项目引入reidsson— 基于redisson-spring-boot-starter。原创 2023-07-28 15:53:05 · 675 阅读 · 0 评论 -
Redisson学习———学习redisson加载yaml配置信息
他们的不同点点在于redisson . config 后面的纯文本信息表达方式不同,分为yaml和json俩种表达方式。config 设置为String 类型 用于加载spring.redis.redisson下的纯文本配置。该类提供默认的config配置,并提供将各种类型的数据解析为config配置类的能力。以下redisson配置二选一即可,配置内容相同,展示格式不同而已。原创 2023-07-28 15:06:01 · 2925 阅读 · 0 评论 -
引入redisson踩坑(Unable to init enough connections amount! Only 15 of 24 were initialized)
问题解决原创 2023-07-27 16:14:44 · 5925 阅读 · 0 评论 -
stream 流分组求和【double类型】时可能会出现精度丢失问题
stream 流分组求和(double类型)时可能会出现精度丢失问题 使用时需慎用原创 2022-05-12 23:53:14 · 1375 阅读 · 0 评论 -
技术使用总结-旷视人脸识别-(APP中H5接入)
1.applicationserver: port: 80megvii: appKey: XXX secret: XXX # 验证通过后跳转的页面 returnUrl: https://www.pilipili.com/ # 验证后回调的接口 notifyUrl: https://www.pilipili.com/ webTitle: 代码生涯2.dto原创 2021-08-06 14:35:35 · 1448 阅读 · 0 评论 -
Feign发送Get请求时使用对象传递参数(Request method ‘POST‘ not supported问题)
文章目录四种解决方案:1.将get请求改为post请求2.发送请求使用 httpclient,而不是java原生2.1添加pom依赖2.2 yml设置允许使用httpclient2.3 方法上添加注解2.3.1 接口方法请求参数添加@RequestBody2.3.2 接口方法上@GetMapping 添加 consumes属性2.3.3 服务提供方方法上请求参数也需要加@RequestBody注解,方法上@GetMapping 添加 consumes属性3.springcloud2.1.0前:使用@requ原创 2021-07-27 11:31:08 · 1469 阅读 · 0 评论 -
搭建spring-cloud项目并使用nacos作为注册中心
文章目录1.项目目录结构2.各模块责任及maven依赖、yml、重要注解2.0.spring-cloud-nacos2.1.raven-common2.2.raven-nacos2.3.raven-service2.4.raven-service-api3.需要注意可能会踩坑的地方:3.1.nacos config配置文件bootstrap.properties3.2.@EnableFeignClients注解 basePackages3.3.spring-cloud-starter-alibaba-nac原创 2021-07-08 21:21:08 · 1043 阅读 · 2 评论 -
skywalking学习
快速学习-skywalking概述https://blog.csdn.net/weixin_42528266/article/details/107840900快速学习-skywalking入门https://cwl-java.blog.csdn.net/article/details/107840978快速学习-实用插件https://blog.csdn.net/weixin_42528266/article/details/107841576视频https://www.bilibili.c原创 2021-02-28 10:58:22 · 210 阅读 · 1 评论 -
通过mybatis 在代码中动态的创建数据库的表
<update id="updateTableName" parameterType="string"> alter table v3_apmsg rename to ${tableName}</update><update id="createTable"> CREATE TABLE `v3_apmsg` ( `MODIFIED_TIME` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP原创 2020-08-28 15:52:21 · 898 阅读 · 3 评论 -
springboot配置多数据库
#数据源配置jdbc: #系统库 master: host: * port: * db: * user: * passwd: * slave: host: * port: * db: * user: * passwd: * #格式化SQL语句(true:开启[有性能损失],false:关闭) p6spy: truespring: #启动banner banner: location: c原创 2020-08-28 15:51:46 · 254 阅读 · 0 评论 -
elasticsearch 去重查询并进行分页
去重查询的俩种方式:在进行去重查询时,原来的目的是对于查询出的结果中一模一样的数据进行去重,但是各种百度发现都是对于单一字段的去重查询,最后索性新增了一个字段,将其他字段拼接了起来,从而根据拼接的字段进行去重查询1.使用字段聚合+top_hits聚合方式dsl:GET sjck_personnel/_search{ "size": 0, "aggs": { "query_agg": { "terms": { "field": "concat_field原创 2020-08-21 14:46:33 · 5305 阅读 · 3 评论 -
java设计模式学习之命令模式(更简单的理解设计模式)
传统OOP方式:控制器package com.java.jikexueyuan.commandmode;/** * 定义一个遥控器接口 */public interface Control { /** * 开 * @param slot */ public void onButton(int slot); /** * 关 * @param slot */ public void offButton(int slot)原创 2020-08-05 21:33:31 · 205 阅读 · 0 评论 -
java设计模式学习之工厂模式(更简单的理解设计模式)
简单工厂模式简单工厂模式的设计方案:定义一个实例化披萨对象的类,封装创建对象的代码简单工厂模式:定义了一个创建对象的类,由这个类来封装实例化对象的行为package com.java.jikexueyuan.pizzastore.simplefactory;import com.java.jikexueyuan.pizzastore.pizza.CheesePizza;import com.java.jikexueyuan.pizzastore.pizza.GreekPizza;import原创 2020-08-04 21:24:46 · 139 阅读 · 0 评论 -
java设计模式学习之单例模式(更简单的理解设计模式)
/**有些对象我们只需要一个:线程池、缓存、硬件设备等如果多个实例会有造成冲突、结果的不一致性等问题是否可以用静态变量方式来实现?或者程序员之间协商个全局变量?单例模式:确保一个类最多只有一个实例,并提供一个全局访问点例如,公司的打印机只有一个,如果我们创建多个打印机对象,并同时下达打印的指令,那么我们所得到的打印结果可能就是混合起来的结果,所以应该使用单例设计模式,全局只容许创建一个打印机对象单例设计模式可以分为 饿汉式:在类初始化的时候就对类进行实例化,供整个项目中使用。原创 2020-08-04 16:05:08 · 191 阅读 · 0 评论 -
java设计模式学习之装饰者模式(更简单的理解设计模式)
设计模式之装饰者模式设计模式之装饰者模式学习一、首先第一开始的时候老师提出了一种很简单的实现咖啡厅的订单系统的方案。即,一个主体一个类,一个配料一个类,如果需要什么coffee就将其主体和配料进行组合,这种方式是最简单的实现方案,也最直接,但是该方案会让我们的类爆炸,会产生无数多的类。不可取,不通过!二、接下来老师提出了一个新的方案,新的方案是我们实现一个类,该类中提供方法,进行描述是否添加某种配料。如果添加的话,添加多少,这样的方案因为我们的配料是有有限的,所有很快就可以搞定,但是如果推出了原创 2020-08-03 21:46:23 · 204 阅读 · 0 评论 -
java设计模式学习之观察者模式(更简单的理解设计模式)
1.OO角度1、Internet气象站项目:提供温度、气压和湿度的接口测量数据更新时需时时通知给第三方需要设计开放型API,便于其他第三方公司也能接入气象站获取数据WeatherData 类package com.java.hexter.internetweather;/** * 天气数据的公共接口 * 提供温度、气压和湿度的接口 * 测量数据更新时需时时通知给第三方 * 需要设计开放型API,便于其他第三方公司也能接入气象站获取数据 */public class WeatherD原创 2020-07-14 15:41:16 · 153 阅读 · 0 评论 -
elasticsearch对身份证号码的处理(ngarm分词或者pipeline)
在项目中,手机号和身份证号码考虑都是为数字(身份证号码可能有X),所以都设置为了keyword字段因为项目需要,需要对已经存入数据库的上亿条数据中的手机号和身份证号进行处理,对于身份证号码或手机能够分词项目中之前使用的为IK分次器,所以不会处理数字。下面是后来做出的一些解决方案,各有优缺点。方案1:使用ngram分词方式,对手机号身份证号进行分词重新导入数据或者reindex。优点:能够查询出来的数据结果更多缺点:数据冗余多具体实现Demo:DELETE user_indexGET原创 2020-07-10 09:35:40 · 2622 阅读 · 0 评论 -
通过elasticsearch进行筛选高级查询
项目要求:客户可以筛选不同的index 并且可以进行多条条件的筛选。刚开始,一开始对于需求不够明确,认为搜索条件中的 第四个条件 “或or且”是针对于当前条件单独的描述。例如,名字等于xxx (且) 且表示当前条件必须成立。但是这样的理解是不正确的。正确的查询:且表示上下俩条数据都必须存在,或表示当前条件可以存在可以不存在。而后,被公司的大哥指点了一番,通过大集合小集合先对条件进行了处理,然后进行查询,完成的高级查询。解决思路:首先以“或”作为条件的分割, 如果在条件列表中,出现了或,则证明或后面原创 2020-07-02 14:37:33 · 1846 阅读 · 0 评论 -
Elasticsearch 数据建模最佳实践 学习
Elasticsearch 数据建模最佳实践建模建议(⼀):如何处理关联关系Object •优先考虑 DenormalizationNested •当数据包含多数值对象(多个演员),同时有查询需求Child/Parent ●关联⽂档更新⾮常频繁时建模建议(⼆): 避免过多字段● ⼀个⽂档中,最好避免⼤量的字段○ 过多的字段数不容易维护○ Mapping 信息保存在 Cluster State 中,数据量过⼤,对集群性能会有影响 (ClusterState 信息需要和所有的节点同步)○ 删原创 2020-06-21 20:54:52 · 214 阅读 · 0 评论 -
elasticsearch数据建模(选择合适的映射关系)
什么是数据建模?● 数据建模(Data modeling), 是创建数据模型的过程○ 数据模型是对真实世界进⾏抽象描述的⼀种⼯具和⽅法,实现对现实世界的映射○ 博客 / 作者 / ⽤户评论○ 三个过程:概念模型 => 逻辑模型 => 数据模型(第三范式)○ 数据模型:结合具体的数据库,在满⾜业务读写性能等需求的前提下,确定最终的定义如何对字段进行建模?字段类型 ==》是否要搜索及分词 ==》是否要聚合及排序 ==》是否要额外的存储字段类型:Text v.s Keyword● T原创 2020-06-21 20:25:09 · 501 阅读 · 0 评论 -
elasticsearch之Painless脚本应用
#########Demo for Painless###############Painless 简介● ⾃ Elasticsearch 5.x 后引⼊,专⻔为 Elasticsearch 设计,扩展了 Java 的语法。 ● 6.0 开始,ES 只⽀持 Painless。Groovy, JavaScript 和 Python 都不再⽀持● Painless ⽀持所有 Java 的数据类型及 Java API ⼦集● Painless Script 具备以下特性○ ⾼性能 / 安全○ ⽀持显示原创 2020-06-21 19:49:34 · 2044 阅读 · 0 评论 -
elasticsearch之Pipeline&Processor(管道处理数据)
###Pipeline & Processor###● Pipeline - 管道会对通过的数据(⽂档),按照顺序进⾏加⼯###● Processor - Elasticsearch 对⼀些加⼯的⾏为进⾏了抽象包装###● Elasticsearch 有很多内置的Processors。也⽀持通过插件的⽅式,实现⾃⼰的 Processorpipeline 就是一组processors我们隔离通过_ingest/pipeline/_simulate API 模拟管道行为,进行测试descri原创 2020-06-21 19:44:09 · 2344 阅读 · 0 评论 -
elasticsearch Update By Query & Reindex API
Update By Query & Reindex API###使⽤场景###● ⼀般在以下⼏种情况时,我们需要重建索引###● 索引的 Mappings ###发⽣变更:字段类型更改,分词器及字典更新###● 索引的 Settings ###发⽣变更:索引的主分⽚数发⽣改变###● 集群内,集群间需要做数据迁移###● Elasticsearch 的内置提供的 API###● Update By Query:在现有索引上重建###● Reindex:在其他索引上重建索引DELET原创 2020-06-21 17:51:35 · 492 阅读 · 0 评论 -
elasticsearch之文档的父子关系
文档的父子关系###Parent / Child###● 对象和 Nested 对象的局限性###● 每次更新,需要重新索引整个对象(包括根对象和嵌套对象)###● ES 提供了类似关系型数据库中 Join 的实现。使⽤ Join 数据类型实现,可以通过维护 Parent###/ Child 的关系,从⽽分离两个对象###● ⽗⽂档和⼦⽂档是两个独⽴的⽂档###● 更新⽗⽂档⽆需重新索引⼦⽂档。⼦⽂档被添加,更新或者删除也不会影响到⽗⽂档和其他的⼦⽂档DELETE my_blogs设置ma原创 2020-06-21 11:59:12 · 770 阅读 · 0 评论 -
elasticsearch Nested Object 嵌套对象映射,查询,以及聚合分析
Elasticsearch 中处理关联关系#● 关系型数据库,⼀般会考虑 Normalize #数据;在 Elasticsearch,往往考虑 #Denormalize 数据#● Denormalize 的好处:读的速度变快 / #⽆需表连接 / ⽆需⾏锁#● Elasticsearch #并不擅⻓处理关联关系。我们⼀般采⽤以下#四种⽅法处理关联#○ 对象类型#○ 嵌套对象(Nested Object)#○ ⽗⼦关联关系(Parent / Child )#○ 应⽤端关联DELETE blog原创 2020-06-21 10:57:19 · 1737 阅读 · 0 评论 -
使用百度地图api根据网吧名称获取经纬度信息
http://lbs.baidu.com/index.php?title=webapi/guide/webservice-geocoding1.到百度地图获取请求连接地理编码http://api.map.baidu.com/geocoding/v3/?address=北京市海淀区上地十街10号&output=json&ak=您的ak&callback=showLocation //GET请求注意:当前为V3.0版本接口文档,V2.0及以前版本自2019.6.18起新用户无法使原创 2020-06-20 15:09:20 · 979 阅读 · 0 评论 -
SQl CASE WHEN 语句的嵌套使用方式
select id,userid, ys, case when pj_ys is NULL then ( case when pj_ys1 is NUll then ys else pj_ys1 end) else pj_ys end t from dbo.tbl_Emplyeeblogshttps://blog.csdn.net/spw55381155/article/details/79891192转载 2020-06-18 14:56:18 · 5960 阅读 · 0 评论 -
数据库毫秒转换成date格式
在开发过程中,我们经常会将日期时间的毫秒数存放到数据库,但是它对应的时间看起来就十分不方便,我们可以使用一些函数将毫秒转换成date格式。一、 在MySQL中,有内置的函数from_unixtime()来做相应的转换,使用如下:mysql> select from_unixtime(1, '%Y-%m-%d %H:%i:%S'); +---------------------------------------+ | from_unixtime(1, '%Y-%m-%d %H:%i:%S')转载 2020-06-18 11:45:01 · 1395 阅读 · 0 评论 -
elasticsearch之聚合的作⽤范围及排序
聚合的作⽤范围及排序es聚合分析的默认作用范围是query的查询结果集同时es还支持以下方式改变聚合的作用范围filter post_filter globalDELETE /employeesPUT /employees/{ "mappings" : { "properties" : { "age" : { "type" : "integer" }, "gender" : { "type原创 2020-06-17 20:54:43 · 426 阅读 · 0 评论 -
elasticsearch之Pipeline 聚合分析
Pipeline 聚合分析DELETE employeesPUT /employees/_bulk{ "index" : { "_id" : "1" } }{ "name" : "Emma","age":32,"job":"Product Manager","gender":"female","salary":35000 }{ "index" : { "_id" : "2" } }{ "name" : "Underwood","age":41,"job":"Dev Manager","ge原创 2020-06-16 21:24:25 · 578 阅读 · 0 评论 -
elasticsearch Bucket & Metric 聚合分析及嵌套聚合
Bucket & Metric 聚合分析及嵌套聚合DELETE /employeesPUT /employees/{ "mappings" : { "properties" : { "age" : { "type" : "integer" }, "gender" : { "type" : "keyword" }, "job" : { "ty原创 2020-06-16 20:55:41 · 357 阅读 · 0 评论 -
Elasticsearch:权威指南学习之多字段映射
多字段映射 ,指定title为english分词, title.std为standard分词。进行多次索引PUT /my_index{ "settings": { "number_of_shards": 1 }, "mappings": { "properties": { "title": { "type": "text", "analyzer": "english", "fields": { "原创 2020-06-15 16:01:50 · 367 阅读 · 0 评论 -
elasticsearch分页及遍历不同场景使用方案
####分页也遍历–from size search after scroll #########默认情况下使用 from 和size 进行算分分页会出现深度分页的问题 页数越深,占用内存越多from + size 必须小于10000POST goods/_search{“from”: 0,“size”: 10000,“query”: {“match_all”: {}}}search after 避免深度分页的问题优点:避免深度分页缺点: 只能往下翻 不支持指定页数,只能从头翻原创 2020-06-10 20:52:15 · 241 阅读 · 0 评论 -
elasticsearch suggester 学习 以及实际应用的一些方法推荐
##################Suggester#############################elasticsearch suggester 帮助用户在搜索的过程中,进行自动补全或者纠错,通过协助用户输入更加精准的关键词。原理:将输入的文本分解为Token,然后再索引的字典里查找相似的term 并返回根据不同的使⽤场景,Elasticsearch 设计了 4 种类别的 Suggesters###● Term & Phrase Suggester###● Complete原创 2020-06-04 21:36:19 · 454 阅读 · 0 评论 -
elasticsearch之explain的使用
explain查看怎么计算得分的,format将json格式结果转为yaml展示POST tlsmz/_search?format=yaml{ "explain": true, "query": { "bool": { "must": [ { "term": { "fz.keyword": { "value": "南昌西" } }原创 2020-06-03 17:16:05 · 7008 阅读 · 1 评论 -
elasticsearch单字符串多字段查询(Dis Max Query&multi match)
################单字符串多字段查询:Dis Max Query######使⽤ bool 查询实现单字符串多字段查询##● 单字符串多字段查询时,如何在多个字段上进⾏算分##● 复合查询:Disjunction Max Query##● 将评分最⾼的字段评分作为结果返回,满⾜两个字段是竞争关系的场景##● 对最佳字段查询进⾏调优:通过控制 Tie Breaker 参数,引⼊其他字段对算分的⼀些影响DELETE blogsPUT /blogs/_doc/1{ "tit原创 2020-05-31 19:26:55 · 991 阅读 · 0 评论 -
elasticsearch Query & Filtering 与多字符串多字段查询
################Query & Filtering 与多字符串多字段查询############DELETE productsPOST /products/_bulk{ "index": { "_id": 1 }}{ "price" : 10,"avaliable":true,"date":"2018-01-01", "productID" : "XHDK-A-1293-#fJ3" }{ "index": { "_id": 2 }}{ "price" : 20,"ava原创 2020-05-31 18:02:04 · 358 阅读 · 0 评论 -
搜索的相关性算分
####################搜索的相关性算分##################搜索的相关性—relevance搜索的相关性算分,描述了一个文档和查询语句匹配的程度,es会对每个匹配查询条件的结果进行算分_score打分的本质就是排序。把最符合用户需求的文档排在前面,es5之前。默认的相关性算分采用TF-IDF,现在采用BM25词频TFterm Frequency 英 /ˈfriːkwənsi/ : 检索词在一篇文档中出现的频率 检索词出现的次数除以文档的总字数度量一条查询和结果相关原创 2020-05-31 17:59:13 · 640 阅读 · 0 评论