自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xiaobo5264063的博客

个人学习使用

  • 博客(136)
  • 资源 (2)
  • 收藏
  • 关注

原创 springboot整合redis+lua实现getdel操作保证原子性

根据上面的逻辑加了测试, 在判断成功后等待5秒后执行删除操作。同时开启另外一个线程去修改这个key的值, 发现修改的线程一直阻塞。直到等待的线程5秒结束后且完成删除操作后,修改的线程才会执行。注意: 如果脚本中涉及多个key的操作并redis部署的是cluster模式时, 需要额外确认多个key都在一个slot中。Redis会将整个Lua脚本作为一个原子操作执行,这意味着脚本中的多个命令要么全部执行成功,要么全部失败。Redis执行Lua脚本时,它会自动锁定相关的键,以防止其他客户端对这些键进行并发修改。

2023-11-02 14:12:07 630

转载 在vscode中创建vue项目

123

2023-02-11 13:27:33 168

原创 docker安装mongodb4.4.0

搜索镜像 docker search mongo 拉取镜像 docker pull mongo:4.4.0 创建容器/home/agent/data/mongodb 为mongodb数据目录需提前创建 auth表示连接mongodb需要授权 docker run -itd --name mongo -v /home/agent/data/mongodb:/data/db -p 27017:27017 mongo:4.4.0 --auth 启动成功...

2022-02-17 10:37:29 1994 2

原创 41--go语言学习之配置文件

依赖 go get github.com/spf13/viper 代码 package mainimport ( "fmt" "os" "github.com/spf13/viper")func main() { InitConfig()}// 读取yml文件func InitConfig() { work, _ := os.Getwd() // 获取目录路径 viper.SetConfigName(...

2021-10-16 22:21:21 447

原创 40--go语言学习之JWT使用

文档sss

2021-10-16 13:21:49 302

原创 39--go语言学习之数据库操作orm学习

xorm学习 文档GitHub - go-xorm/xorm: Simple and Powerful ORM for Go, support mysql,postgres,tidb,sqlite3,mssql,oracle, Moved to https://gitea.com/xorm/xorm 依赖 go get github.com/go-xorm/xorm 代码 package mainimport ( "fmt" "time" _ "github.com...

2021-10-15 22:10:10 218

原创 38--go语言学习之操作mysql

文档https://github.com/go-sql-driver/mysql依赖 go get -u github.com/go-sql-driver/mysql 代码 package mainimport ( sql2 "database/sql" "fmt" "net/http" "github.com/gin-gonic/gin" _ "github.com/go-sql-driver/mysql" // 注意运行时须加载依赖 否则报错)var ...

2021-10-12 23:30:18 99

原创 37--go语言学习之日志配置logrus

基本使用下载 go get github.com/sirupsen/logrus 文档:GitHub - sirupsen/logrus: Structured, pluggable logging for Go. 代码 package mainimport ( "fmt" "net/http" "os" "github.com/gin-gonic/gin" "github.com/sirupsen/logrus")// 创建logvar log = logr..

2021-10-11 23:00:23 864

原创 35--go语言学习之session操作

文档GitHub - gin-contrib/sessions: Gin middleware for session management下载 go get github.com/gin-contrib/sessions 代码 package mainimport ( "encoding/gob" "net/http" "github.com/gin-contrib/sessions" "github.com/gin-contrib/sessions/cookie"...

2021-10-10 21:18:30 546

原创 34--go语言学习之swagger

dd下载依赖 go get github.com/swaggo/swag/cmd/swaggo get github.com/swaggo/gin-swaggergo get github.com/swaggo/files 创建文件 main.go注意 package mainimport ( "fmt" "net/http" _ "go_work/gin/swagger/docs" // swag init 生成的docs "github.com/gin-goni.

2021-10-09 22:57:02 373 1

原创 33--go语言学习之参数校验

参数校验下载依赖 go get github.com/satori/go.uuidgo get github.com/go-playground/validator 代码 package mainimport ( "fmt" "net/http" "unicode/utf8" uuid "github.com/satori/go.uuid" "github.com/gin-gonic/gin" "github.com/go-playground/val...

2021-09-28 23:45:56 567

原创 28--go语言学习之gin登陆认证处理

package mainimport ( "net/http" "github.com/gin-gonic/gin")func main() { engine := gin.Default() engine.Use(loginMiddleware()) engine.GET("info", func(c *gin.Context) { // 获取登陆用户名 name := c.MustGet(gin.AuthUserKey).(string) c.JSON(http.St.

2021-09-26 22:50:22 795

原创 26--go语言学习之文件处理

涉及文件的下载 文件单个上传和批量上传package mainimport ( "net/http" "github.com/gin-gonic/gin")func main() { engine := gin.Default() engine.GET("down", downFile) engine.POST("upload", uploadFile) engine.POST("uploadBatch", uploadBatchFile) engine.Run(":809.

2021-09-25 22:35:09 103

原创 25--go语言学习之多类型数据返回

实例1 涉及客户端json、html、xml、yaml数据返回格式package mainimport ( "net/http" "github.com/gin-gonic/gin")func main() { engine := gin.Default() // json输出 engine.GET("json", func(c *gin.Context) { c.JSON(http.StatusOK, gin.H{ "html": "<br>this is

2021-09-25 18:30:10 145

原创 java本地环境操作hadoop

配置本地项目环境 在linux安装hadoop 安装参考:https://blog.csdn.net/xiaobo5264063/article/details/119630117 这里安装的时3台, 对应的host为 192.168.2.112node112.cn 192.168.2.113node113.cn 192.168.2.114node114.cn 配置window的hosts 在C:\Windows\System32\drivers\etc\host...

2021-09-11 13:38:53 420 1

原创 服务器之间相互免密钥

背景 如果有2台服务器.109、110 在109服务器上使用ssh 192.168.2.110登陆110服务器时, 每次登陆都需要密码。 解决方案创建密钥 // 在109服务器创建密钥ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa 密要地址: ​ 发送公钥 // 将109服务器的公钥发送到110服务器上 ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]###需要输...

2021-08-14 23:33:37 468

原创 linux学习之shell编程逻辑运算

算术运算符 关系运算符 布尔运算符 字符串运算符 文件测试运算符

2021-07-25 07:39:08 186

原创 2020综合面试

设计模式责任链 将多个执行步骤连接起来形成的一条链,这个对象处理完,就会交给下一个对象去处理。网关设置IP白名单。 装饰 mybatis使用redis实现二级缓存,先判断二级(redis)是否有数据,在判断一级(jvm)。 模板+工厂: 定义抽象模板,在联合登录中设置联合登录请求处理获取openId、通过id获取用户、通过userId更新openId。 策略模式: 主要解决多重if判断问题,前端获取登录方式,通过登录获取从数据库获取对应的处理类class, 如果为空,表示该方式...

2021-07-22 09:39:34 128

原创 elk日志收集

安装elasticsearch上传安装包 解压 tar -zxvf elasticsearch-7.9.3-linux-x86_64.tar.gztar -zxvf kibana-7.9.3-linux-x86_64.tar.gztar -zxvf logstash-7.9.3.tar.gztar -zxvf filebeat-7.9.3-linux-x86_64.tar.gztar -zxvf metricbeat-7.9.3-linux-x86_64.tar....

2021-07-05 10:31:23 181

原创 minio

minio服务端 准备目录 // /data为minio上传文件的存储目录mkdir -p /data/minio 下载 mkdir -p /usr/local/minio/servercd /usr/local/minio/serverwget https://dl.minio.io/server/minio/release/linux-amd64/minio 下载到/usr/local/minio/server目录下 创建启动脚本 cd /usr/loc...

2021-05-06 10:00:33 469

原创 elasticsearch基础大全

elasticsearch介绍 介绍 Elasticsearch是一个基于Lucene构建的开源、分布式、RESTful 接口全文搜索引擎。 Elasticsearch 还是一个分布式文档数据库,每个字段数据都是可以被检索。它能够扩展至数以百计的服务器存储以及处理PB级的数据。它可以在很短的时间内在储、搜索和分析大量的数据。 Elasticsearch就是为高可用和可扩展而生的。可以通过购置性能更强的服务器来完成。 官网:https://www.elastic.c...

2021-04-20 16:48:49 234

原创 jsoncole得远程监控weblogic以及gc日志数据

配置jsoncole远程连接 JAVA_OPTIONS="${JAVA_OPTIONS} -Dcom.sun.management.jmxremote.port=9000"JAVA_OPTIONS="${JAVA_OPTIONS} -Dcom.sun.management.jmxremote.authenticate=false"JAVA_OPTIONS="${JAVA_OPTIONS} -Dcom.sun.management.jmxremote.ssl=false" vi setDom.

2020-09-23 14:32:11 339

原创 webscoket的介绍--转载

https://blog.csdn.net/m0_37542889/article/details/83750665

2020-09-14 18:18:18 71

原创 责任链模式

什么是责任链模式是一种对象的行为模式,在责任链模式里,很多对象由每个对其下家的引用而连接起来形成的一条链,请求在这个链上传递,直到链上的某一个对象决定处理此请求,发出这个请求的客户端并不知道链上的哪一个对象最终会处理这个请求; 有多个对象对一个任务进行处理。他们形成一个链,这个对象处理完,就会交给下一个对象去处理。 角色 抽象处理角色(Handler),定义处理请求的接口 抽象处理者角...

2020-07-22 20:35:08 115

转载 vue创建项目找不到python2.7

https://blog.csdn.net/qq_42886417/article/details/103123659

2020-06-27 22:32:42 1542

原创 SpringSecurity学习

...

2020-06-23 15:42:02 158 1

原创 cdn基础和实战

web前端优化方案 网站的动静分离 浏览器的缓存技术 js、css压缩技术 CDN内容分发 前后端分离技术: 异步话 什么是cdn CDN加速意思就是在用户和我们的服务器之间加缓存机制,动态获取IP地址根据地理位置,让用户到最近的服务器访问。 减少服务器的访问压力,让用户在就近的服务器访问。 c d e f g b b b b b h h h ...

2020-06-23 15:41:06 180

原创 mysql行锁

mysql开启事务,默认上行锁,就是将这行数据锁住,只要事务没有提交,就禁止其他线程操作这行数据

2020-06-08 22:31:01 397

原创 细说linux学习--日志管理以及备份还原

日志服务 在CentOS 6.x中日志服务已经由rsyslogd取 代了原先的syslogd服务。rsyslogd日志服 务更加先进,功能更多。但是不论该服务 的使用,还是日志文件的格式其实都是和 syslogd服务相兼容的,所以学习起来基本 和syslogd服务一致。 常见日志的作用 ...

2020-06-07 13:47:56 198

原创 细说linux学习--服务器系统查看以及定时任务

监控系统资源 格式:vmstat [刷新延时 刷新次数] [root@localhost ~]# vmstat 1 3procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 2 0 8 338540 ...

2020-06-07 07:16:06 2072

原创 细说linux学习--文件系统

分区类型 主分区:总共最多只能分四个 扩展分区:只能有一个,也算作主分区的一种 ,也就是说主分区加扩展分区最多有四个。但 是扩展分区不能存储数据和格 式化,必须再划 分成逻辑分区才能使用。 逻辑分区:逻辑分区是在扩展分区中划分的, 如果是IDE硬盘,Linux最多支持59个逻辑分区 ,如果是SCSI硬盘Linux最 多支持11个逻辑分区 文件系统查看命令 df 格式:df...

2020-05-31 22:00:39 293

原创 细说linux学习---ASL权限、其他特殊权限

场景如何用户root创建了一个/project目录,同时给这个目录设置的权限是: 所有者(rwx)、组权限(rwx)、其他人(---)。 此时若不改变原本的权限同时,想给st用户设置r-x权限, 如何设置???? 设定ACL权限 格式:setfacl 选项 文件/目录名 -m:设定ACL权限 -x: 删除指定的ACL权限 -b: 删除所有的ACL权限 -d: 设定默认ACL权限。 -k: 删除默认ACL权...

2020-05-30 22:57:45 520

原创 gateway整合秒杀服务实现单个手机号限流

秒杀服务创建秒杀服务项目 server: port: 6060spring: application: name: pitch-spike.....................省略 提供秒杀服务接口 // 用户根据手机号和秒杀商品id进去抢购 @Override public MessageCode<JSONObject> spike(String userPhone, Long seckillId) { ...

2020-05-13 23:43:40 372

原创 基于docker安装ElasticSearch

安装下载ES镜像 // 这里默认最新版本docker pull elasticsearch 运行ES docker run -it --name elasticsearch -d -p 9200:9200 -p 9300:9300 -p 5601:5601 elasticsearch 注意:-p 5601:5601 是kibana的端口地址 (我这里kibana的cont...

2020-05-03 22:06:33 1374

原创 配置多个feign

spring: main: allow-bean-definition-overriding: true

2020-04-19 21:37:30 804

原创 swagger注解说明

Swagger配置说明@Api:用在请求的类上,表示对类的说明 tags="说明该类的作用,可以在UI界面上看到的注解" value="该参数没什么意义,在UI界面上也看到,所以不需要配置"@ApiOperation:用在请求的方法上,说明方法的用途、作用 value="说明方法的用途、作用" notes="方法的备注说明"@ApiImplicitPara...

2020-04-11 13:29:43 121

原创 zipkin分布式服务追踪与调用链系统

产生的背景 服务追踪组件, 在微服务架构中,众多的微服务之间互相调用,如何清晰地记录服务的调用链路是一个需要解决的问题. 同时,由于各种原因,跨进程的服务调用失败时,运维人员希望能够通过查看日志和查看服务之间的调用关系来定位问题,而Spring cloud sleuth组件正是为了解决微服务跟踪的组件. 该组件最好和zipkin结合使用, zipkin是图形化的. zipkin默...

2020-04-08 19:33:02 456

原创 基于canal框架解决mysql与redis一致性的问题

应用场景 在项目中通常使用redis作为缓存数据库,将数据库查询的数据缓存到redis中,从而减轻数据的访问的压力。如果数据库的数据发生了修改,这样就产生了数据的不一致性问题 解决方案: 删除redis的缓存,重新从数据库获取。 使用Alibaba的canal框架来解决 canal介绍 canal主要...

2020-04-07 22:30:10 1765 1

原创 CAP定律以及分布式事务解决seata

...

2020-04-06 10:53:49 662

原创 SpringCloudAlibaba基础学习--SpringCloud Sentinel服务保护

服务保护的基本概念 服务降级 在高并发情况下,防止用户一直等待,使用服务降级方式,直接走本地falback的方法,返回一个友好的提示。 服务限流 服务限流就是对接口访问进行限制,常用服务限流算法令牌桶、漏桶。计数器也可以进行粗暴限流实现。 服务熔断 熔断机制目的为了保护服务,在高并发的情况下,如果请求达到一定极限(可以...

2020-03-31 22:19:25 225

qq联合登录demo和jar包资源.7z

这个是一个demo, 可以简单测试下,

2019-11-01

gcc和nginx.zip

gcc和nginx.zip

2019-10-29

空空如也

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

TA关注的人

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