Loading

摘要: 常用命令: # 查看谁正在使用某个文件 lsof /filepath/file # 列出某个用户打开的文件信息 lsof -u username # 列出某个程序所打开的文件信息 lsof -c mysql 备注: -c 选项将会列出所有以mysql开头的程序的文件 其实你也可以写成: lsof | 阅读全文
posted @ 2022-02-20 17:07 Allfuture 阅读(226) 评论(0) 推荐(0) 编辑
摘要: LInux原始的防火墙工具iptables由于过于繁琐,所以ubuntu系统默认提供了一个基于iptable之上的防火墙工具ufw。 安装: apt install ufw 正常情况安装以后应该是默认禁止状态的,输入 ufw status verbose命令可以看到如下界面: ufw status 阅读全文
posted @ 2022-02-20 17:00 Allfuture 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 1、jwt(已学) https://github.com/dgrijalva/jwt-go ps.自定义token 2、httprouter https://github.com/gorilla/mux. 阅读全文
posted @ 2021-12-21 18:40 Allfuture 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 下载编译好的zip文件 https://dlcdn.apache.org/rocketmq/4.9.1/rocketmq-all-4.9.1-bin-release.zip unzip rocketmq-all-4.9.1-bin-release.zip 添加日志文件路径,如:rocketmq/lo 阅读全文
posted @ 2021-10-11 11:28 Allfuture 阅读(76) 评论(0) 推荐(0) 编辑
摘要: 安装JDK 第一步: sudo apt-get update 安装jdk 7 sudo apt-get install openjdk-7-jdk 安装jdk 8 sudo apt-get install openjdk-8-jdk 第二步: 默认路径会安装在/usr/lib/jvm/java-8- 阅读全文
posted @ 2021-10-11 10:44 Allfuture 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 第一步: 本机.ssh目录下生成密匙对id_rsa.pub和id_rsa ssh-keygen -t rsa id_rsa是私钥,id_rsa.pub是公钥 第二步: 要使用什么账号登陆就在相应账户的家目录下新建.ssh目录,如已存在则只需要把本地公钥id_rsa.pub中内容拷贝到远程服务器.ss 阅读全文
posted @ 2021-10-11 10:14 Allfuture 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 1、以块的形式读取文件 package main import ( "io" "os" "fmt" ) const BufferSize = 100 func main() { file, err := os.Open("filetoread.txt") if err != nil { fmt.Pr 阅读全文
posted @ 2021-08-02 16:37 Allfuture 阅读(66) 评论(0) 推荐(0) 编辑
摘要: package main import ( "bufio" //缓存IO "fmt" "io" "io/ioutil" //io 工具包 "os" ) func check(e error) { if e != nil { panic(e) } } /** * 判断文件是否存在 存在返回 true 阅读全文
posted @ 2021-08-02 16:25 Allfuture 阅读(349) 评论(0) 推荐(0) 编辑
摘要: 1、Golang调度器的由来 2、Goroutine调度器的GMP模型及设计思想 3、Goroutine调度场景过程全图文解析 早期的单进程操作系统,面临2个问题: 1.单一的执行流程,计算机只能一个任务一个任务处理。 2.进程阻塞所带来的CPU时间浪费。 多进程/线程时代有了调度器需求: 进程拥有 阅读全文
posted @ 2021-07-28 21:44 Allfuture 阅读(249) 评论(0) 推荐(0) 编辑
摘要: sync.map 适用于读多写少的场景。对于写多的场景,会导致 read map 缓存失效,需要加锁,导致冲突变多;而且由于未命中 read map 次数过多,导致 dirty map 提升为 read map,这是一个 O(N) 的操作,会进一步降低性能。 type Map struct { // 阅读全文
posted @ 2021-07-28 21:05 Allfuture 阅读(262) 评论(0) 推荐(0) 编辑
摘要: Go1.8 三色标记+混合写屏障 基于插入写屏障和删除写屏障在结束时需要STW来重新扫描栈,所带来的性能瓶颈,Go在1.8引入了混合写屏障的方式实现了弱三色不变式的设计方式,混合写屏障分下面四步: GC开始时将栈上可达对象全部标记为黑色(不需要二次扫描,无需STW) GC期间,任何栈上创建的新对象均 阅读全文
posted @ 2021-07-27 09:45 Allfuture 阅读(46) 评论(0) 推荐(0) 编辑
摘要: zset是Redis提供的一个非常特别的数据结构,常用作排行榜等功能,以用户id为value,关注时间或者分数作为score进行排序。 常用命令: # 向有序集合添加一个或多个成员,或者更新已存在成员的分数 ZADD key score1 member1 [score2 member2] # 计算在 阅读全文
posted @ 2021-07-25 17:00 Allfuture 阅读(911) 评论(0) 推荐(0) 编辑
摘要: 与Java中的HashSet一样,无序且存储元素不重复。其底层有两种实现方式,当value是整数值时,且数据量不大时使用inset来存储,其他情况都是用字典dict来存储。 1|0 inset Redis中inset的结构定义如下所示: typedf struct inset{ uint32_t e 阅读全文
posted @ 2021-07-25 16:40 Allfuture 阅读(158) 评论(0) 推荐(0) 编辑
摘要: Redis底层数据结构之hash hash是日常开发过程中使用Redis的一个数据结构,其底层实现方式有两种,如下所示。一种是zipList,这种是当hash结构的V值较小的时候使用的编码方式。这个已经在上一篇文章中介绍过了。这篇文章主要讲解一下另外一种实现方式,字典dict,当hash结构的V值较 阅读全文
posted @ 2021-07-24 14:19 Allfuture 阅读(444) 评论(0) 推荐(0) 编辑
摘要: Redis中另一个常用的数据结构就是list,其底层有linkedList、zipList和quickList这三种存储方式。 1|0 链表linkedList 与Java中的LinkedList类似,Redis中的linkedList是一个双向链表,也是由一个个节点组成的。Redis中借助C语言实 阅读全文
posted @ 2021-07-24 10:49 Allfuture 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 我们都知道,Redis是由C语言编写的。在C语言中,字符串标准形式是以空字符\0作为结束符的,但是Redis里面的字符串却没有直接沿用C语言的字符串。主要是因为C语言中获取字符串长度可以调用strlen这个标准函数,这个函数的时间复杂度是O(N),由于Redis是单线程的,承受不了这个时间复杂度。 阅读全文
posted @ 2021-07-23 17:38 Allfuture 阅读(153) 评论(0) 推荐(0) 编辑
摘要: A类IP地址 一个A类IP地址由1字节的网络地址和3字节主机地址组成,它主要为大型网络而设计的,网络地址的最高位必须是“0”, 地址范围从1.0.0.0 到127.0.0.0)。可用的A类网络有127个,每个网络能容纳16777214个主机。其中127.0.0.1是一个特殊的IP地址,表示主机本身, 阅读全文
posted @ 2021-07-15 21:51 Allfuture 阅读(642) 评论(0) 推荐(0) 编辑
摘要: 日志是mysql数据库的重要组成部分,记录着数据库运行期间各种状态信息 mysql日志主要包括: 重做日志(redo log)、回滚日志(undo log)、二进制日志(binlog)、错误日志(errorlog)、慢查询日志(slow query log)、一般查询日志(general log), 阅读全文
posted @ 2021-07-06 22:49 Allfuture 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 一、打包镜像并运行 1、项目代码打包上传服务器及相关配置文件ip设置 2、编写dockerfile Docker通过读取Dockerfile中的指令自动生成映像 Dockerfile 一般分为四部分:基础镜像信息、维护者信息、镜像操作指令和容器启动时执行指令,’#’ 为 Dockerfile 中的注 阅读全文
posted @ 2021-06-09 15:08 Allfuture 阅读(530) 评论(0) 推荐(0) 编辑
摘要: 1、部署代码部署及端口监听设置: 注意docker里面的host不能配置127.0.0.1或者192.168.0.1否则宿主机器将无法访问端口。所以这里服务启动时要绑定在0.0.0.0上。 即golang程序监听 0.0.0.0:port 2、dockerfile 生成 FROM golang:al 阅读全文
posted @ 2021-06-07 20:36 Allfuture 阅读(1008) 评论(0) 推荐(0) 编辑