- 博客(225)
- 收藏
- 关注

原创 工作过程中常用的linux命令
该文章主要用于个人使用,纯粹是个人经验之谈ls //查看当前目录文件ll //查看当前目录文件详细信息,常用于查看权限cd //进入文件夹cat //查看文件vim 创建/查看/修改文件pwd //查看当前目录rm -rf //强制性删除文件及一下文件mkdir 创建目录/文件夹cp a b 把a文件复制到bcp -r a b 把a目录所有文件复制到bmv a b 把a改成b/移动到blsof -i:8080 查看8080端口占用情况kill -9 pid 删掉线程
2020-11-13 15:45:24
551
原创 springboot 集成向量数据库milvus==>1.bean 注入 2.milvus 连接池注入
最后,总结连接池的优势:通过复用连接对象,减少系统开销,尤其在频繁请求时,避免重复创建和销毁资源。而单例Bean注入确保连接池本身只创建一次,两者结合既保证了资源的高效管理,又遵循了Spring的依赖注入最佳实践。需要引入com.google.guava的包,我个人感觉是高版本的包,milvus 官方提供的依赖版本经常缺方法,下面的也一样。连接池中的对象(如MilvusClientV2)是池化的资源,而Spring管理的Bean(如连接池实例本身)通常是单例的。需要进一步对比两者的对象创建逻辑。
2025-03-05 11:42:28
407
原创 cursor sign in 网页登录成功但是不可用,报错: net::ERR_NO_SUPPORTED_PROXIES
3.这个时候就麻爪了,情不知所起,一往而情深,直接把网页copy到浏览器,发现get请求正常,这个时候就知道是cursor的问题,这个时候就考虑是不是cursor代理的问题。发现果然不一样,我的是http://@172.29.242.3:8080/但同事的是http://域账号:密码@172.29.242.3:8080/根据网上换默认浏览器 ,没有用 ,但是大家可以试一下。1.cursor 打开开发者模式。cursor一直登录失败。改HTTP2的代理也失败。改了之后,进行重新登录。
2025-02-18 12:32:22
705
2
原创 软考中级-软件设计师通过心路经验分享
3.个人考试经历,纸质考试到机考的过程,可能工作后失去了大学考试的方法,或者大学的考试太应付了,老是不自信,不自信就会抗拒第二点,对整个计算机考试做题存在应付的心态,觉得考考就完了,做做题就完了,因为不自信反向自恋为超自信,反正已经工作了,而且是中级,有什么难得,难也是软考不行。第四次考试,真的被刺激到了,直接破釜沉舟了,不过就不考了,一鼓作气,再而衰,三而竭,这次真的是力竭之后的羞耻了,因为在大学的时候同学高级都过了,工作的同事也通过。意识到问题,还不更正,最后焦虑,习惯非常差。
2024-12-11 17:33:47
637
原创 解决milvus migration 迁移数据出现数据丢失问题
分析下来是因为buuferSize 设置的是500条数据,但是迁移工具对一次迁移的数据是是有大小限制的,如果500条数据的总大小大于4194304,就会导致数据迁移失败。注意:这个在2.3.x 迁移到2.4.5 的时候没有出现这个问题,问题出现在2.4.5迁移到2.4.13-hotfix的时候出现的。问题是数据在批量迁移的过程中,这个错误会被忽略掉。解决方案:bufferSize 修改的条数少一点。在迁移数据的时候发现数据丢失。
2024-10-28 14:20:34
523
1
原创 springboot RedisTemplate支持多个序列化方式
前提纪要:因为业务变动,需要在原先只支持protobuf的前提序列化的前提下,新增正常的序列化读取数据所以在原先的基础上进行优化。#1024程序员节|征文#
2024-10-23 15:58:37
551
原创 解决springboot redisTemplate lua execute hash脚本 field有转义符的问题
添加DefaultRedisScript 改为Object 去掉范式,设置指定的序列化方式,同时入参从 Map 改为Map而不是redisTemplate hash 存储的序列化方式。发现这个方法是直接调用下图的方法。问题:使用execute,是。会存在field有转义符。使用的序列化的方式是。
2024-10-22 18:25:37
592
原创 springboot redisTemplate hash 序列化探讨
在使用的过程中,难免会疑问为什么 key field value 序列化的方式,尤其是fields 的序列化方式。从上面两个图可以看到key,fields,value 是不同方式的序列化方式。疑问:hash如何序列化的,重点:fields 是如何序列化的?redisTemplate 有两种插入hash的方式。前提提要:这个是个人小白总结,写完博客后开始厌蠢。ok,废话不多说,先说结果,后分析。因为在配置序列化方式的时候。
2024-10-22 11:42:06
503
原创 Springboot redis luttuce lua脚本 存储压缩的protobuf key:byte[] value:map<byte,byte[]>
注释部分是正常的map<string,value> 的方式,对该lua脚本进行了优化。
2024-09-11 15:05:51
453
1
原创 springboot luttuc redis 集成protobuf,手动序列化反序列化
3.考虑到其他项目使用原生的luttuce,不支持key/value 结构不一致,所以对redis key field value 都进行压缩了(关注官网变更哦,后面会支持。路径一致,否则会报错。2.由于为了和公司其他的项目达成一致,所以版本,依赖 都尽量保证一致,所以版本需要各位看官具体决定了哈(团队使用时不同版本会有冲突)4.由于初期设计的.proto文件,可能存在压缩不完全的问题(后面会具体聊),大家可以见仁见智了啊,欢迎反馈。这个是对可变的Map 进行压缩的,可能会压缩不完全。
2024-09-11 14:57:32
736
原创 milvus使用milvus migration工具迁移数据
下载模板文件yaml,放入milvus_migration/configs 下,一般命名:migration.yaml。github地址:https://github.com/zilliztech/milvus-migration。如果目标 Milvus 中没有与源集合对应的集合,milvus-migration工具会自动创建该集合。看的出来就是shell脚本for 循环执行就行了,但是我的表很多哎,这样一点点写很烦,改一下吧。目标的milvus 官方称之为:目标target milvus。
2024-08-29 20:10:22
1097
原创 milvus多个Querynode,资源消耗都打在一个节点上
当代理收到数据加载请求时,会将请求发送给查询协调器,查询协调器决定如何将分片分配到不同的查询节点。1.数据量太小,且数据是动态新增的,且没有60s间隔,没有达到segement分区的限制,没有从growingSegement态,所以都落在其中的一个segement。3.调整flush的阈值,我觉得在小数据量的情况下操作有点杀鸡用牛刀,完全可以使用命令塞入数据的指定多个副本,做负载…2.在数据量小的情况下,少querynode ,每个querynode 多资源。其中大致的内容都看懂了,比较困难的是。
2024-08-28 16:29:16
634
原创 milvus资源限制 benchmarker压测 qps优化
总结:官网提供的资源配置,应该是以数据为主的,但是如果对milvus 有性能要求,应该提高queryNode 的资源。还是保持质疑,刚好dev 环境没有资源,不能限制pulsar ,发现性能还是很差,所有排除pulsar问题。1.dev 环境 对接不同的配置最大的qps 如下(dev的机器内存很小)2.于是认为当前的性能是匹配的,然后加上资源限制,配置。
2024-08-27 19:23:05
676
原创 wireShark tcpdump 抓包 ,检测dns
将 生成的 clirent.pcap使用wireshark 分析。过滤目标ip or 域名。
2024-08-19 16:21:22
380
原创 milvus helm k8s开启监控
文章写的很清晰 ,我这边做一下个人补充,初版可能只是配置,具体的grafana 监控报表后期补一下。values.yaml 配置 enabled: true 改为true。生产的可执行yaml (可直接手动部署)
2024-08-14 16:32:37
420
原创 milvus helm k8s开启权限管理,attu管理
eg:角色菜单是通用的,但是其权限是 库-用户-角色 ,即每个库都有该用户新的角色权限。举个例子:登录不同的游戏,换不同的区,一切重新开始。该configMap 添加 ,然后重启milvus 集群可生效。选择一个库,使用用户-角色管理,配置用户和角色对应的权限。将会生成上面的配置,然后按照官网的配置流程就行。或者直接在value.yaml 中添加该配置。开启后登录attu 会爆权限不足的配置。建立三个databases;
2024-08-14 16:24:13
477
原创 milvus - VectorDBBench benchmaker 性能测试工具使用经验
条件: --m 8 --ef-construction 64 --ef-search 64 --k 64。条件:–m 8 --ef-construction 64 --ef-search 10 --k 10。1.ivf_flat 性能验证。2.hnsw 性能验证。2.hnsw 性能验证。
2024-07-30 16:22:50
718
原创 向量数据量milvus k8s helm 对接外部安装部署流程
1.如果你想要直接部署,不对接外部组件,直接使用在线部署,当前要注意上面的问题:使用魔法先把需要的镜像下载下来!官方部署网址:https://milvus.io/docs/install_cluster-helm.md。前情概要:历经了太多的坑,从简单的到困难的,该文章主要是为大家尽可能的展现安装部署流程中遇见的坑!k8s可执行文件milvus_manifest.yaml。
2024-07-15 17:16:30
970
3
原创 leetCode-数组和字符串-寻找数组的中心索引
如果中心下标位于数组最左端,那么左侧数之和视为 0 ,因为在下标的左侧不存在元素。这一点对于中心下标位于数组最右端同样适用。如果数组有多个中心下标,应该返回 最靠近左边 的那一个。如果数组不存在中心下标,返回 -1。数组 中心下标 是数组的一个下标,其左侧所有元素相加的和等于右侧所有元素相加的和。给你一个整数数组 nums ,请计算数组的 中心下标。自己独自完成的第一个题,虽然效果差了些,但是要纪念一下。
2024-06-06 17:45:49
275
1
原创 使用线程池 Future超时解决集合子线程性能差问题
基于上篇文章使用程序计数器去承接多个子线程解决性能差的远程网络I/O问题,但是发现会出现集合多线程情况下的未知情况:因为程序计数器只是对线程进行阻塞,当程序计数器减为0 或者 时间到时,子线程依旧在执行和主线程异步执行,如果子线程被修改的集合被下面执行的主线程调用,则会出现。最后压测和实验发现,一个线程处理其自己的线程性能最好,同时,异步等待超时,中断线程。基于这个问题使用很多的解决方案,
2024-06-05 11:50:46
443
原创 线程池+CountDownLatch 使用过程中遇到的坑和当前的疑问
此外,虽然在这个特定的 submit 调用中直接捕获异常可能不是必需的(因为 submit 方法本身不会抛出检查型异常,并且会返回一个 Future 对象,任何异常都将被存储在该 Future 对象中),但在 lambda 表达式内部可能会抛出异常,这取决于您的代码逻辑。1.还是会存在线程池满的问题,对于当前的问题,有种无力的感觉,这个时候就在想:md,这是线程池和这个服务接口的问题,我代码一点问题没有,突然思路打开了,是不是代码可以优化一下,至少没那么难看,(1.换成全局线程池后,发现错误的范围蔓延了!
2024-05-30 11:33:59
742
原创 springboot 集成 redis luttuce && redisson ,单机 && 集群模式(根据不同环境读取不同环境的配置)
luttuce 和redisson配置过程中实际上是独立的,他们两个可以同时集成,但是没有直接相关关系,配置相对独立。所以分为Lettuce 和 Redisson 两套配置。lettuce yaml配置。redisson配置文件。cluster集群模式。
2023-12-15 14:41:58
869
原创 redis 内存机制探索篇
发现操作系统的内存大小是在376G ,查看了redis 的内存分配机制,如果说redis 没有配置maxmemory 那 redis 会在达到峰值的时候像操作系统申请内存,假设操作系统内存完全提供给redis, 那。,那上述问题就解决了,意思是当前内存使用量和redis 已经申请的内存的达到一定值的时候,redis 会向操作系统申请内存来应对内存使用满的情况,直到redis 的内存量和操作系统的内存量达到一致。意思是如果这个比例如果达到了100%就会导致内存写满,这个时候非常慌张,但是又有文章说。
2023-11-29 16:22:51
2160
原创 java.lang.UnsupportedOperationException 关于Arrays.asList问题解决
问题排查参考文档:https://blog.csdn.net/thekenofdis/article/details/78289067。
2023-11-21 15:54:23
625
原创 java switch case 多条件 正确案例&错误案例
2.错误案例: switch case 不支持 | 的方式执行!,最终执行判定的时候导致所有都执行不成功!1.多条件下可以通过case 7: case 3: 执行条件或|,简而言之就是。
2023-11-20 16:24:07
2978
原创 yyyy-MM-dd‘T‘HH:mm时间格式探索
T 即代表 UTC(Coodinated Universal Time),协调世界时,又称世界统一时间、世界标准时间、国际协调时间。由于英文(CUT)和法文(TUC)的缩写不同,作为妥协,简称UTC。按照北京时间计算,北京时间比UTC时间快8个小时。这个是工具类内部支持的样式,这样我们就可以通过T替换" "避免解析问题,同时也可以标注为标准时间格式的数据,一举多得。一直以后这个T是为了避免yyyy-MM-dd HH:mm:ss空格出现解析报错。但是这个T实际是一个标识符,作为小时元素的开始。
2023-08-25 17:48:21
2383
原创 推荐系统知识(仅供参考)
答:用户画像包括用户特征,简单来说画像和特征只是开发过程中相同定义的不同说法,怎么去定义这个规范应该由团队进行定义,需要和算法达成一致。1.初始化 2.召回 3.打分 4.排序 5.返回。即:什么是用户画像,什么是用户特征。答:同步不同的方式召回出对应的物料。
2023-06-16 10:28:03
130
原创 ConcurrentHashMap和Collections.synchronizedMap
【代码】ConcurrentHashMap和Collections.synchronizedMap。
2022-08-22 15:51:04
405
原创 将对象转换成 map对象 and hutool 将对象转换成json字符串
Person person =new Person(); person.setAdult(true); person.setName("1"); // 将对象转换成json字符串 String r = JSONUtil.parseObj(person, false).toString(); System.out.println(r);将对象转换成 map对象Map<String, Object> s...
2022-05-18 21:05:31
3698
原创 json字符串双引号 解析错误
String tdKeyExtAttributeValues = "[{"'attrValue":"65g/3个。品味着"下午嗨到晚上",西班牙式休闲文化。"} ,{"attrValue":"大家伙们:"你是大各自"晚上好?"} ,{"keyExtAttrName":"minQty","keyExtAttrId":"042658ec-203d-40cb-894c-7c69f7571e29","attrValu..
2022-04-04 14:45:36
1131
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人