- 博客(342)
- 资源 (3)
- 收藏
- 关注
原创 怎么用好Redis的高性能这个优势?
Redis使用优化关键点:1.避免BigKey问题,合理拆分大Value,使用预加载或延迟加载策略;2.确保使用长连接并合理配置连接池参数,防止连接数超限;3.数据类型选择要得当,K-V类数据建议优先使用String而非Hash,避免集群分片不均。可通过redis-cli--bigkeys排查工具检测BigKey。
2025-08-23 17:27:29
345
原创 ElasticSearch使用总结——长连接问题
ES的请求协议也是http,避免连接重复建立与销毁带来的高负载,准备用长连接,在压测的时候长连接没问题,但到了生产环境的时候,发现有大量的TIME_WAIT,这就不符合长连接的预期了。排查时发现是因为使用了context传递,然后用户端很多没请求完就取消了请求,导致了大量的context cancel,cancel的时候请求ES的连接也就断开了,这样长连接就没法维护了。在http包里也有了NewRequestWithContext了,在请求第三方的时候,如果上游取消了请求,ctx能控制停止请求第三方资源。
2025-07-17 09:51:16
202
原创 LLM 学习笔记-推理流程
输入的prompt会经过分词器分解为token,每个token都有唯一的token id,然后输入的tokenid会经过嵌入层(embedding layer)转为一个高维连续的向量,比如说768维或者1024维向量。然后这个 token 是能够被 LLM 理解的,在 GPU 的作用下,输出 token 给用户,然后在输出给用户的同时,输出token 再被作为输入token,继续下一个token的输出。:生成token的阶段,利用prefill阶段的cache和本阶段的cache生成token。
2025-05-21 10:19:55
206
原创 mcp-server 启动时问题解决
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。原文链接:https://blog.csdn.net/songhongchuang/article/details/129019353。nodejs版本太低,升级node版本至v16以上!升级完成查看 node版本。升级nodejs方法。查看当前node版本。用制定的版本执行脚本。
2025-05-15 20:52:07
261
原创 MySQL的enum类型的问题
背景是这样的:测试环境的字段类型用了varchar,线上环境该字段类型为enum(这个就不应该不一致!因为mysql隐式转换的特性,向varchar字段写入int类型的值时,mysql会自动转换成varchar类型(存入"0"),不会报错。当你插入int 且值为0的时候, 发下正式环境enum字段为空,本来enum字段是应该插入string类型的0或1 的。但如果int, 就采用索引的方式,但MySQL的enum索引是从1开始的。0未定义,就成了空!如果用enum字段,值也不要用数字!
2024-11-22 14:04:35
245
原创 Golang json 中文marshal
今天遇到了坑, golang 直接json.Marshal 中文 客户端不解析。必须是ASCII码才可以,所以学习了下,示例如下:package mainimport ( "encoding/json" "log" "strconv")type QuoteString stringfunc (q QuoteString) MarshalJSON() ([]byte, error) { return []byte(strconv.QuoteToASCII(
2022-01-24 19:46:55
1659
原创 Golang 从httpmock 了解http.RoundTripper
最近组内推进Golang的单元测试,代码有很多第三方请求的逻辑,如果冒昧的写单测可能影响第三方数据,或者拿不到期望数据。这个时候我们了解到可以通过github.com/jarcoal/httpmock(后面统称httpmock)来解决这个问题。我们先来看一段代码:func TestHttpReq(t *testing.T) { httpmock.Activate() defer httpmock.DeactivateAndReset() //mock期望的请求方式、url与返回结果
2021-07-01 18:34:48
759
原创 求每月有几周【Golang】
package mainimport ( "fmt" "time")func main() { d := time.Now()
2020-11-21 20:13:15
328
原创 获取某一周的日期区别【php】
直接上代码:function weekday($week){ $year = substr($week, 0, 4); $week = substr($week, 4); $year_start = mktime(0, 0, 0, 1, 1, $year); $year_end = mktime(0, 0, 0, 12, 31, $year); $init = date("W", $year_start); $w = date("w", $year
2020-07-30 12:03:14
189
原创 斐波那契的几种实现方法【Golang】
递归写法package mainimport "fmt"func main() { fmt.Println(F(6))}func F(i int) (f int) { if i <= 0 { return 0 } if i == 1 { return 1 } return F(i-1) + F(i-2)}动规思路package mainimpo...
2020-03-28 12:40:26
318
原创 Golang channel 使用总结(二)
有缓冲channel的关闭dead lock如果 在同一个Goroutine内,发送数大于缓冲数,就跟无缓冲类似了。package mainimport "fmt"func main() { pipline := make(chan string, 1) pipline <- "hello world" pipline <- "hello Gola...
2020-03-27 15:56:46
312
原创 Golang channel 使用总结(一)
无缓冲channel的使用package main import "fmt"func main() { ch :...
2020-03-27 15:27:12
356
原创 shell 命令行输出二进制文件后乱码的处理
操作环境SecureCRT操作场景select * from db.table 时 有一列存的是二进制,结果输出后,界面乱码解决办法输入echo -e '\xf'并回车。与这个命令相对的是echo -e ‘\xe’0x0E is SI (Shift In),0x0F is SO (Shift Out).参考资料http://man7.org/linux/man-pa...
2020-03-20 10:54:44
825
原创 Golang实现单链表
package mainimport "fmt"type A interface { Add() Update() ShowList()}type Item struct { no int name string nickname string next *Item}func main() { it := &Item{} //初...
2019-12-09 12:19:20
201
原创 Golang 实现冒泡算法、选择算法与插入算法
package mainimport "fmt"func main() { bubbleSort() selectSort() insertSort()}func bubbleSort() { arr := []int{6, 3, 8, 2, 9, 1} length := len(arr) var flag bool for i := 0; i < lengt...
2019-12-09 12:17:44
180
翻译 Uber 公司Golang编程规范【翻译】
引言样式是支配我们代码的惯例。 术语“样式”有点用词不当,因为这些约定不仅仅涵盖那些可以由gofmt替我们处理的源文件格式。本指南的目的是通过详细描述在Uber编写Go代码的注意事项来管理这种复杂性。 这些规则的存在是为了使代码库易于管理,同时仍然允许工程师有效地使用Go语言功能。该指南最初由Prashant Varanasi和Simon Newton编写,目的是使一些同事快速使用Go。 多...
2019-10-13 10:39:50
1667
原创 Golang开发构建环境配置
Golang 1.13使用vim-govim-go 需要Vim 7.4.2009, 默认的centos7 上 yum 安装的是7.4.1006, 所以先升级[@sjs_19_176 ~]# yum install -y gcc gcc-c++ ruby ruby-devel lua lua-devel \ctags git python python-devel \tcl-devel...
2019-09-05 11:38:40
645
原创 HDFS 使用整理汇总
Hadoop常见问题整理汇总MapReduce报错: The NameSpace quota (directories and files) of directory /user/ime_iweb_pinyin is exceeded:MapReduce报错: The NameSpace quota (directories and files) of directory /user/ime_...
2019-09-04 11:20:44
300
原创 【转载】MySQL Community Server 5.7.5发布
改进1: 内存动态管理: 此版本对InnoDB的Buffer Pool(innodb_buffer_pool_size)允许在联机状态下修改其大小.这极大地提升了InnoDB缓存区管理的灵活性,另外可有效动态提升Server的整体效率改进2: Optimizer – ONLY_FULL_GROUP_BY mode. 在分组操作时,使得MySQL能识别目标列/排序列/HAVING的条件列/DIST
2017-05-27 22:18:36
473
原创 Python格式化中使用%与C prinf格式输出的区别
一.格式1.1 C printf()的一般格式 printf(格式控制,输出列表); 例:int i = 3; double f = 4.56; printf("%d,%f", i,f);1.2 PYTHON 格式化输出 格式标记字符串 % 要输出的值组 其中,左边部分的”格式标记字符串“可以完全和c中的一致。右边的'值组'如果有两个及以
2017-05-27 22:18:33
2805
原创 linux awk 的基础应用
在Linux系统中,AWK 是一个非常强大的文本处理工具,在日常统计中起到重要的作用。[@sjs_73_194 ~]$ man awkGAWK(1) Utility Commands GAWK(1)NAME gawk - pattern scanning and processin...
2017-05-27 22:18:30
678
原创 揭开Socket编程的面纱 【转载】
对TCP/IP、UDP、Socket编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵。那么我想问:1. 什么是TCP/IP、UDP?2. Socket在哪里呢?3. Socket是什么呢?4. 你会使用它们吗?什么是TCP/IP、UDP? TCP/IP(Transmission Cont...
2017-05-27 22:18:27
449
原创 vi --打开多文件的操作 【转】
多标签进入vim前 vim -p 以多标签形式打开文件。如vim -p * 就是编辑当前目录的所有文件,vim编辑中:tabnew 增加一个标签:tabc 关闭当前的tab:tabo 关闭所有其他的tab:tabs 查看所有打开的tab:tabp 或gT 前一个:tabn 或gt 后一个新建标签页:tabe 在新标签页中打开
2017-05-27 22:18:24
543
原创 Kafka
Kafka是一个高吞吐量分布式消息系统。linkedin开源的kafka。 Kafka就跟这个名字一样,设计非常独特。首先,kafka的开发者们认为不需要在内存里缓存什么数据,操作系统的文件缓存已经足够完善和强大,只要你不搞随机写,顺序读写的性能是非常高效的。kafka的数据只会顺序append,数据的删除策略是累积到一定程度或者超过一定时间再删除。Kafka另一个独特的地方是将消费者信息保
2017-05-27 22:18:21
388
原创 【消息队列MQ】各类MQ比较 【转载】
原文地址:http://blog.csdn.net/sunxinhere/article/details/7968886目前业界有很多MQ产品,我们作如下对比:RabbitMQ是使用Erlang编写的一个开源的消息队列,本身支持很多的协议:AMQP,XMPP, SMTP, STOMP,也正是如此,使的它变的非常重量级,更适合于企业级的开发。同时实现了一个经纪人(Broker)构架,这意味着消
2017-05-27 22:18:18
477
原创 理解php内核的 引用计数器与写时复制
zval结构中有以下两个成员变量用于引用计数器:is_ref:BOOL值,标识变量是否是引用集合refcount:计算指向引用集合的变量个数写时复制:就是当变量的值改变时才进行内存的复制。$a = "this a test ";xdebug_debug_zval('a');$b = $a;xdebug_debug_zval('a');$a = "changed the test value";xd
2017-05-27 22:18:15
427
原创 快速从LAMP 迁移 到 LNMP教程
已有环境:LAMP 安装 nginx:yum install -y nginx安装 php-fpm:yum install -y php-fpm关闭httpdservice httpd stopchkconfig --level 2345 httpd off配置 nginx虚拟主机:#vi /etc/nginx/conf.d/virtual.conf server { liste
2017-05-27 22:18:13
932
1
原创 Vim 复制粘贴探秘【转】
转载地址:http://www.cnblogs.com/end/archive/2012/06/01/2531147.htmlVim 作为最好用的文本编辑器之一,使用vim来编文档,写代码实在是很惬意的事情。每当学会了vim的一个新功能,就会很大地提高工作效率。有人使用vim几 十年,还没有完全掌握vim的功能,这也说明了vim的强大。而这样何尝不是一件好事呢,只要有的学习,就有的提高。 最
2017-05-27 22:18:04
360
原创 【转载】互斥锁pthread_mutex_t的使用(转载)
1. 互斥锁创建有两种方法创建互斥锁,静态方式和动态方式。POSIX定义了一个宏PTHREAD_MUTEX_INITIALIZER来静态初始化互斥锁,方法如下: pthread_mutex_t mutex=PTHREAD_MUTEX_INITIALIZER;在LinuxThreads实现中,pthread_mutex_t是一个结构,而PTHREAD_MUTEX_INITIALIZER则是一个结
2017-05-27 22:18:01
408
原创 /usr/bin/ld: cannot find -lc 解决
[linux_day01]#cc -static hello.c /usr/bin/ld: cannot find -lccollect2: ld 返回 1主要原因是,在安装Linux时,如果不选择开发环境,会默认安装需要的动态库,但不会安装静态库。如果我们在静态连接程序时,会找不到libc.a这个基础静态库文件。这时我们安装相应的库文件就可以了:[linux_day01]#yum install
2017-05-27 22:17:59
1336
原创 Page Size 【转】
原文地址:http://blog.csdn.net/tttt418/article/details/6113860看好多论文和源码中都有Page Size的概念,我却一直比较模糊,今天特地仔细查了一下。 基本概念In the context of computer virtual memory, a page, memory page, or virtual page is a fixed
2017-05-27 22:17:56
1144
原创 main (int argc,char *argv[ ]) 与 getopt
main(int argc, char *argv[ ], char **env)才是UNIX和Linux中的标准写法。argc: 整数,用来统计你运行程序时送给main函数的命令行参数的个数* argv[ ]: 字符串数组,用来存放指向你的字符串参数的指针数组,每一个元素指向一个参数argv[0] 指向程序运行的全路径名argv[1] 指向在DOS命令行中执行程序名后的第一个字符串ar
2017-05-27 22:17:53
379
原创 C语言static关键字解析 【转】
转载地址:http://blog.csdn.net/wu_zf/article/details/70683261、概述 static 声明的变量在C语言中有两方面的特征: 1)、变量会被放在程序的全局存储区中,这样可以在下一次调用的时候还可以保持原来的赋值。这一点是它与堆栈变量和堆变量的区别。 2)、变量用static告知编译器,自己仅仅在变量的作用范围内可见。这一点是它与全局变量的区
2017-05-27 22:17:50
723
原创 socket阻塞和非阻塞的区别【转】
转载地址:http://kalogen.iteye.com/blog/670841简单点说:阻塞就是干不完不准回来, 非组赛就是你先干,我现看看有其他事没有,完了告诉我一声我们拿最常用的send和recv两个函数来说吧... 比如你调用send函数发送一定的Byte,在系统内部send做的工作其实只是把数据传输(Copy)到TCP/IP协议栈的输出缓冲区,它执行成功并不代表数据已经成功的
2017-05-27 22:17:47
321
原创 LADP使用
//1、连接ladp$ldaphost = "ldap.example.com"; // your ldap servers$ldapport = 389; // your ldap server's port number// Connecting to LDAP$ds= ldap_connect($ldaphost, $ldapport) or die("C
2017-05-27 22:17:45
1797
原创 LINUX命令行 查看memcache运行状态
1、确保memcache是启动的2、 /etc/rc.d/init.d/memcached start &3、链接进入telnet localhost 112114、stats 命令这些状态的说明如下:pidmemcache服务器的进程IDuptime服务器已经运行的秒数time服务器当前的unix时间戳versionmemcache版本pointer_s
2017-05-27 22:17:42
2963
jmxtools-1.2.1.jar+jmxri-1.2.1.jar.zip
2020-03-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人