- 博客(17)
- 收藏
- 关注
原创 etcd基础
分布式系统中最关键数据的分布式,可靠的键值存储用于提供可靠的分布式键值存储,配置共享和服务发现等功能默认处理数据都是控制数据,对于应用数,只推荐数据量很小,但更新访问频繁的情况,常见etcd使用场景:服务发现,分布式锁,分布式队列,分布式通知和协调,主备选举等。
2025-05-18 17:15:03
982
原创 gRPC基础
将消息类型用在RPC系统中,要在.proto文件中定义一个RPC服务端口,protocol buffer将会根据选择不同语言生成服务接口代码和存根// rpc 服务函数名 (参数) 返回 (返回参数)
2025-05-11 09:28:17
287
原创 WebSocket 编程
在同一级目录下新建四个 go 文件、、、,以下是各文件代码及说明:(二)hub.go(三)data.go(四)connection.go运行命令:,运行之后执行文件。
2025-04-26 13:35:39
1108
原创 SQL优化
单条插入语句,每条都需要与数据库建立连接进行网络传输一次批量插入不建议数据超过1000条自动事务每条插入语句都会开启事务,提交,导致过于频繁顺序插入性能高于乱序插入当需要插入大批量数据,可以使用Load指令进行插入通过一个符合规则的文件进行插入。
2025-04-16 21:58:57
779
原创 Gorm复习
参考 GORM 的默认 logger来定义您自己的 loggerLogger 需要实现以下接口,它接受context,所以你可以用它来追踪日志自定义的数据类型必须实现Scanner和Valuer接口,以便让 GORM 知道如何将该类型接收、保存到数据库// 实现 sql.Scanner 接口,Scan 将 value 扫描至 Jsonb// 用于从数据库中扫描值到json.RawMessage类型if!ok {// 用于表示原始的 JSON 数据。
2025-03-30 14:43:07
710
原创 Gorm基础知识
提示:这里使用了SQLite数据库驱动,需要通过命令安装。将以上代码保存在main.go中并执行。执行完成后,我们将在当前目录下得到test.dbSQLite 数据库文件。SQLite① 进入 SQLite 命令行。② 查看已存在的数据库表。③ 设置稍后查询表数据时的输出模式为按列左对齐。④ 查询表中存在的数据。有过使用 ORM 框架经验的同学,以上代码即使我不进行讲解也能看懂个大概。Productgorm.OpenProductProduct有些同学可能有个疑问,以上示例代码中并没有类似。
2025-03-23 08:38:39
1021
原创 基础准备点
OSI 开放式系统互联Http:无状态协议,是互联网中使用HTTP实现计算机和计算机之间的请求和响应HTTP使用纯文本方式发送和接收协议数据,不需要借助专门工具进行分析就可以知道协议中数据HTTP报文组成请求方式软件模型。
2025-03-22 19:56:15
273
原创 Go Web
模版想要调用函数,前提是模版中已经存在该函数当调用自定义函数,需要借助html/template包下的FuncMap进行映射FuncMap 本质是map的别名map[string]interface{}函数被添加映射后,只能通过函数在FuncMap中的key调用函数(而不是函数名调用)// 把自定义函数绑定到FuncMap上// 绑定FuncMap和指定模版// 先新建一个空模板,进行绑定// 再将指定模版解析到空模板中。
2025-03-12 20:13:56
663
1
原创 Go SQL
加载失败可以尝试在 Go 中,database/sql 包默认使用连接池来管理数据库连接,这意味着每次您执行数据库操作时,可能会使用不同的连接。这种行为在大多数情况下是高效的,但在某些情况下可能会导致问题,尤其是在需要将多个操作绑定到单个连接时。
2025-03-09 11:17:35
581
原创 Redis
开源的基于内存的数据存储系统:数据库,缓存和消息队列等以键值对的形式区分大小写的默认使用字符串存储数据,且二进制安全键和值默认是不支持中文,因为键值以二进制形式存储type 键 查看键的类型。
2025-02-26 16:05:19
1039
原创 MySQL
session 当前会话global 全局脏数据:在一个事务还没提交时,另一个数据已经可以读取到修改后的数据不可重复读幻读解决脏读不可重复读:同一事务,对同一个表的读取结果不同解决脏读和不可重复读幻读:一个事务前后读取的数据量不同在一个事务获取到锁后,会禁止其他事务的增删改,因为无法获取到锁net start 服务名 启动mysqlnet stop 服务名 停止mysqlmysql (-h 主机名 -p 端口号) -u 用户名 -p密码 登录。
2025-02-23 16:19:31
984
原创 Docker
自定义网络会修复docker0的缺点,自带用容器名连接–net bridge 不写会是个默认参数subnet 配置子网gateway 配置网关部署在自定义网络下容器互联连通后将tomcat02放到mynet网络下,一个容器两个IP指令详解。
2025-02-16 08:37:50
907
原创 Linux
find+目录+ -name+“文件名” +>+文件目录+& 在后台运行后将内容输出到重定向文件内,当命令结束执行时,进程也会被结束,获取到的内容不完全。chown+ -R+用户名:用户组名+文件夹 修改文件夹的所属名和所属组的同时递归修改文件夹内所有的所属名和所属组。grep+ -n+关键字+文件目录 显示该内容在文件中的行号同时输出包含有关键字的文件内容,关键字高亮显示。cut+ -d+分隔符+ -f+数字 -+文件目录 获取到从数字开始之后的所有部分(包括当前数字)
2025-01-17 11:15:42
840
原创 go进阶知识
go.mod文件常量使用const修饰在定义的时候,必须需初始化常量不能修改只能修饰bool,数值类型(int,float系列),string类型通过首字母的大小写来控制常量的访问范围方法go的方法是作用在指定数据类型上的(和数据类型相互绑定),所以自定义类型,都可以有方法需要声明方法,比如Person结构体除字段外,还有行为用方法完成方法首字母小写只能本包访问,首字母大写可以所有包访问通过自定义类型的指针调用指定方法,修改变量内的数据在方法内进行运算其他自定义
2025-01-09 17:03:56
830
原创 go基础知识
学习目标: 一周掌握go基础知识学习内容:起名规则go语言中有25个关键字和36个预定标识符包名:保持package名字和目录一致,简短,有意义,不和标准库冲突main包是程序入口包,所以main函数所在的包应该叫main包,否则无法编译生成可执行文件包名是从$GOPATH/src/后开始计算的,使用 / 进行路径分隔变量名,函数名,常量名:驼峰命名法实现权限控制:变量名,函数名,常量名首字母大写,可以被其他的包访问。小写只能本包访问go命令go run 编译+运行
2024-12-15 18:06:47
717
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人