自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(712)
  • 收藏
  • 关注

转载 向量召回 ES

当用户的症状描述转化为一个向量时候,这时候即可从Es中进行搜索即可,在搜索的时候,需要使用Es的script_score的query,在query的scrip脚本中,将用户的向量放到查询语句的参数中,即可进行搜索,这里的搜索不是简单的文本匹配了,而是进行了语义层面的搜索。该向量具有表达一个疾病的含义,其是对疾病描述的embedding,在后续匹配过程中,只需要将用户输入的向量和ES中的向量进行匹配,即可找到最相关的向量。由于数据涉及到隐私,这里不进行提供,仅仅在源码中提供了数据的格式,方便跑通程序。

2024-04-18 21:57:50 7

转载 mq消费者的推、拉模式

转自仅做个人备份,浏览请看原文。

2023-05-31 19:57:04 753

原创 linux空间占用情况

查看各目录下文件占用:du -sh *查看磁盘占用情况:df -TH。

2023-04-16 13:12:50 460 1

转载 #### linux安装mysql ####

这里也有一个坑,centos7的防火墙已经更改为了firewall而不再是iptables,当然你想要改回来也可以,不过我觉得没必要,这里就不讲诉具体操作了,如果感兴趣可自行百度。完成了以上操作我们就可以在linux上来操作mysql了,但是如果我们想要远程访问的话还需要对外开放mysql的3306端口,或者直接关闭防火墙。(2)上图有是因为我之前已经装过了,如果你的是刚装的centos7的话,应该是没有的,有的话也没事,我们使用下面的命令强力删除即可。可以通过查看开放的端口,判断自己是否成功。

2023-04-16 11:56:21 276

原创 promQL

(2)[]内的是指定时间跨度,可以5m,[$__rate_interval]指看板选中的时间跨度。(4)rate(xxx[5m])指5m内xxx指标每秒的数值,sum指5m内每秒数值都展示。(1){}内的是指定label,$api指当前看板选中的api。(3)by后是分组依据。

2023-03-19 14:31:53 203

转载 Mac Goland 无法启动的解决方法

转自https://www.jianshu.com/p/3ea0959c3e7f仅做个人备份。

2023-03-05 18:20:15 1151

原创 mac安装开发工具:clipy、iterm2、go、brew、mysql、redis、wget等

(1)下载(2)打开安装程序进行安装,并设置账号密码(3)安装ok后,可在系统设置中看到并管理(4)配置环境变量(5)连接mysql -h127.0.0.1 -P3306 -uroot -p密码。

2023-03-05 15:26:33 786

原创 mac安装brew

安装/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"环境变量echo 'export PATH="/opt/homebrew/bin:$PATH"' >> ~/.bash_profile source ~/.bash_profileecho 'export PATH="/opt/homebrew/bin:$PATH"' >> ~/.zshrc sourc

2023-02-14 15:25:06 103

转载 #### protoc ####

以上述内容为例,假设我们有一个共用的 proto 文件 common.proto,此时 greeter.proto 如果想引用里面的message,就可以使用 import 关键字进行导入。参数针对的是protobuf,是proto文件的命名空间,它的作用是为了避免我们定义的接口,或者message出现冲突。参数是用来指定 protoc-gen-go 插件的工作方式和Go代码的生成位置,而上面的写法正是表明该插件的工作方式。的写法是,参数之间用逗号隔开,最后加上冒号来指定代码的生成位置,比如。

2023-02-14 15:17:47 962

转载 es空间检索

方案优化的探索是没有没有止境的,Lucene的核心工程师 Michael McCandless受到论文《Bkd-Tree: A Dynamic Scalable kd-Tree》启发,基于BKD tree再次升级了地理位置数据索引建模和查询功能。在前面的版本中,对于数值区间查询的处理思路本质上都是term匹配,通过前缀实现了一个term管理一个区间,从而降低了区间查询需要遍历的term数量。搜索的时候,就不再是像Quadtree从整个世界开始定位,而是基于当前的点集合形成的空间来查找。

2023-02-02 17:39:22 597

原创 #### 距离的存储/检索/排序 ####

例如:东圃幼儿园的GeoHash是wtw3ued9m,查询1KM内的幼儿园时, 使用SELECT * FROM xxx WHERE 存储GeoHash的字段 like 'wtw3ued%';Geohash算法是一种地址编码,它能把二维的经纬度编码成一维的字符串,存到mysql的一列string类型即可,查询时计算处置后再查询。根据维基百科的球面计算公式,根据圆心坐标计算正方形四个点的坐标,查询正方形内的目标点。有误差,索引利用率不高,不易缓存,距离无序。缺点:查询语句长,索引效率差。有误差,边界8区问题。

2023-02-02 17:31:16 207

转载 各种空间索引方案对比

redis,一个功能强大、效率极高的缓存数据库(或许已经不仅仅是缓存数据库了),已经成为类似于关系存储型数据库在各个项目中不可或缺的组件了。首先考虑它是因为它的效率有保障,而且项目中几乎必备,运维代价很低。Redis 的 空间索引采用 GeoHash 原理,配合集合存储,查询效率接近 log(N)。Redis 3.0 以上版本支持空间索引,新项目不必考虑这些,而一般的老项目可能就需要升级 Redis 了,另外 PHP 中可能还要升级 Redis 的扩展,以支持 Redis 的空间索引函数。

2023-02-02 17:28:21 511

转载 #### grpc-go、grpc-java、brpc-cpp线程模型对比 ####

概括仅做个人备份,浏览请看原文概括三者都实现了一套称为的线程模型(主要使用),只不过他们的实现方式不一样:(1)grpc-go 基于 go语言原生的gmp模型(2)grpc-java 基于 netty的线程模型(3)brpc-cpp 基于 brpc-cpp自己写的一套线程模型。

2023-01-28 16:20:31 372

转载 #### protobuf数据序列化与json或xml数据序列化的传输效率的对比 ####

转自:https://juejin.cn/post/7034046510643806238仅做个人查阅及备份用途,浏览请看原文。当对 Protobuf 有了基本的认识后,就会明白了 Protobuf 序列化的数据会比 JSON、XML 传输效率更高。那为啥会高呢?本篇就带着这个问题一探究竟。

2023-01-28 15:44:13 651

转载 #### mesh服务网格 及Istio框架 ####

转自仅做个人备份,浏览请看原文。

2023-01-19 17:23:28 92

转载 golang Stdout 和 Stderr 日志

转自 http://events.jianshu.io/p/ac89b3e8c65a 仅做个人备份,浏览请看原文。

2023-01-19 16:48:58 1078

原创 git refs/for 命令

而与之相对的refs/heads不需要cr。这个不是git的规则,而是gerrit的规则,gerrit是一种免费、开放源代码的代码审查软件。origin : 是远程的库的名字,可以用具体地址,也可以用本地记录的origin常量来表示。HEAD: 一个特别的指针,指向你正在工作的本地分支的指针,可以把它当做本地分支的别名。git pull 远程仓库地址 refs/changes/69/106040069/5。git push :

2023-01-07 17:25:54 1081

转载 PHP中empty和isset的区别

isset 函数虽然也会检测给定变量是否为 NULL 的情况,但更主要的目的用于检测给定目标参数是否设置。empty 主要用于:检测给定参数目标是否是“空值”。isset 主要用于:检测给定参数目标是否设置。

2023-01-06 14:57:45 182

原创 mac配置

开发软件:iterm2、vscode、goland、postman。软件:google chrome、微信。环境:go、git、lazygit。其他软件:clipy。

2022-12-26 14:48:14 90

原创 lazygit

【代码】lazygit。

2022-12-26 14:15:22 154

原创 记录

【代码】记录。

2022-12-23 10:42:01 67

原创 gitignore

gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。需要先把本地缓存删除,改变成未track状态,即取消add。例如忽略.idea文件夹(位置和.gitignore文件目录同级),则在.gitignore文件内新建一行.idea/。

2022-12-21 10:42:01 48

转载 Mac Vim 移动光标 快捷键

1、移动到行尾"$",移动到行首"0"(数字),移动到行首第一个字符处"^"6、移动光标到屏幕顶端"H",移动到屏幕中间"M",移动到底部"L"5、跳到第n行"ngg" 或 "nG" 或 ":n"4、移动到文档开始"gg",移动到文档结束"G"3、移动到下一个词"w",移动到上一个词"b"2、移动到段首"{",移动到段尾"}"7、移动到上次编辑文件的位置 "`"

2022-12-20 20:22:59 488

原创 git主要命令 及与svn的对比

git fetch/pull[fetch不会自动merge,pull自动merge]

2022-12-15 15:24:55 173

原创 Linux命令

(1)文件重命名,mv 原文件名 新文件名,如:mv myFile newName,(2)复制文件到当前目录并重命名,比如想把my_file这个单个的文件重命名为 my_copy_file 并复制到当前目录,cp my_file ./my_copy_file,(3)复制aiad_vehicles_new.php文件到另外一个目录(/home/work/123/odp/app/te),cp aiad_vehicles_new.php /home/work/123/odp/app/te。

2022-12-15 13:58:44 54

转载 Goland GOROOT 出现 “The selected directory is not a valid home for Go Sdk“ 问题解决

初学 Golang,今天在配置好 Golang SDK 后,安装 goland IED 编辑器。在配置 goland GOROOT SDK 的过程中,一直报错如下:在百度多番检索未找到解决方案,最后 google 检索 stakeoverflow 找到了精准答案,在此分享。

2022-10-25 16:33:39 448

原创 WaitGroup + Channel 并发执行子任务且限制并发度

WaitGroup + Channel 并发执行子任务且限制并发度。

2022-10-24 20:20:16 178

转载 #### redis bitmap ####

如果我们需要记录某一用户在一年中每天是否有登录我们的系统这一需求该如何完成呢?如果使用KV存储,每个用户需要记录365个,当用户量上亿时,这所需要的存储空间是惊人的。Redis 为我们提供了位图这一结构,每个用户每天的登录记录只占据一个比特位(0/1)。Bitmap的偏移量用来做key,Bitmap的比特位值的0/1用来做val。其实,Bitmap本身不是一种数据结构,实际上它就是字符串,但是它可以对字符串的位进行操作。Bitmaps 单独提供了一套命令。

2022-10-14 18:33:24 96

转载 #### 负载均衡 ####

上一篇文章一起学习了Resolver的原理和源码分析,本篇继续和大家一起学习下和Resolver关系密切的Balancer的相关内容。这里说的负载均衡主要指数据中心内的负载均衡,即RPC间的负载均衡。传送门基于和。

2022-10-14 18:19:32 150

转载 #### 服务发现 ####

在微服务架构中,有许多绕不开的技术话题。比如服务发现、负载均衡、指标监控、链路追踪,以及服务治理相关的超时控制、熔断、降级、限流等,还有RPC框架。这些都是微服务架构的基础,只有打牢这些基础,才敢说对微服务是有了一点理解,出门也好意思和别人打招呼了,被人提问的时候也能侃侃而谈了,线上出了问题往往也能寻根溯源内心不慌了,旁边的女同事小芳看着你的时候也是满眼的小可爱了。在《微服务实践》公众号,之前写了《go-zero微服务实战系列》的系列文章,这个系列的文章更多的是偏向业务功能和高并发下的服务优化等。

2022-10-14 18:17:57 587

转载 #### redis cluster 槽位信息、故障转移 ####

1、clusterState.slots和clusterNode.slots(记录槽位信息的结构体)每个节点内都有clusterState.slots和clusterNode.slots这俩结构,clusterState.slots和clusterNode.slots是必须都存在的:(1)clusterState.slots用于花费O(1)的时间复杂度找到某个slot的处理节点。

2022-10-14 17:48:14 640

转载 #### redis集群模式:主从、哨兵sentinel、cluster ####

当master挂了以后,sentinel会在slave中选择一个做为master,并修改它们的配置文件,其他slave的配置文件也会被修改,比如slaveof属性会指向新的master。但是当数据量过大到一台服务器存放不下的情况时,主从模式或sentinel模式就不能满足需求了,这个时候需要对存储的数据进行分片,将数据存储到多个Redis实例中。当有足够数量的sentinel(大于等于配置文件指定的值)在指定的时间范围内确认master的确进入了主观下线状态, 则master会被标记为客观下线。

2022-10-14 16:41:12 130

转载 #### 总结http1.0,http1.1,http2,http3 ####

转自 https://juejin.cn/post/7001510315514937375。

2022-10-14 16:22:54 84

转载 #### https 及 tls加密过程 ####

例如,在 HTTPS 协议中,客户端发出请求,服务端会将公钥发给客户端,客户端验证过后生成一个密钥再用公钥加密后发送给服务端(非对称加密),双方会在 TLS 握手过程中生成一个协商密钥(对称密钥),成功后建立加密连接。TLS 的基本工作方式是,客户端使用非对称加密与服务器进行通信,实现身份验证并协商对称加密使用的密钥,然后对称加密算法采用协商密钥对信息以及信息摘要进行加密通信,不同的节点之间采用的对称密钥不同,从而可以保证信息只能通信双方获取。

2022-10-14 12:48:19 122

转载 #### redis hash 实现结构 ####

摘自 https://juejin.cn/post/7027096770303754248。

2022-10-14 11:19:50 115

转载 ClickHouse 数据存储形式 及 索引原理

1、列式数据库,对比于行式数据库mysql查询提升200倍,ClickHouse你值得拥有! - 掘金2、索引原理,稀疏索引,及查询流程ClickHouse的索引原理 - 掘金3、索引原理 【ClickHouse内核】MergeTree索引相关基础知识点_Night_ZW的博客-CSDN博客

2022-10-08 19:45:23 661

转载 #### go的编译、链接过程 ####

程序运行前,需要编译和链接两个过程。

2022-10-03 19:10:27 158

原创 二叉树插入元素

【代码】二叉树插入元素。

2022-10-03 17:17:01 174

原创 #### golang存在的父子关系 ####

子ctx cancel 不会取消父ctx。父ctx cancel 会取消子ctx。兄弟ctx cancel 不会取消兄弟ctx。

2022-10-03 16:38:03 240

转载 #### redis线程模型 ####

流程总结为,将主线程 IO 读写任务拆分出来给一组独立的线程处理,使得多个 socket 读写可以并行化,但是 Redis 命令还是主线程串行执行。主线程执行 IO 线程读取和解析出来的 Redis 请求命令;主线程阻塞等待 IO 线程将指令执行结果回写回。主线程清空全局队列,等待客户端后续的请求。主线程负责接收建立连接请求,获取。主线程阻塞等待 IO 线程读取。提高网络请求处理的并行度。放入全局等待读处理队列;主线程通过轮询将可读。分配给 IO 线程;

2022-10-03 16:27:09 73

空空如也

空空如也

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

TA关注的人

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