- 博客(17)
- 资源 (5)
- 收藏
- 关注
原创 redis知识点
Redis sorted set的内部使用HashMap和跳跃表(skipList)来保证数据的存储和有序,HashMap里放的是成员到score的映射,而跳跃表里存放的是所有的成员,排序依据是HashMap里存的score,使用跳跃表的结构可以获得比较高的查找效率,并且在实现上比较简单。跳表可以保证增、删、查等操作时的时间复杂度为O(logN),且维持结构平衡的成本比较低,完全依靠随机。Redis官方文档给的理解是,Redis的事务是原子性的:所有的命令,要么全部执行,要么全部不执行。
2023-07-05 13:57:54
148
原创 服务器内存占用过高处理步骤
1. 先查看服务器剩余内存容量free -h2. 查看占用内存最大的10个进程ps -aux | sort -k4nr | head -n 103. 查看内存占用最高的pid的线程:top -Hp <pid>4. 记录首个pid,转化成16进制后的数字5. 导出pid进程的堆栈信息jstack -l *** > ****.log6.查看堆栈信息,并找到 16进制 675D的线程7.在服务器上用jmap导出堆存储jmap -dump:format=b,fil
2021-09-01 17:28:16
6285
原创 入网流量路径及负载均衡
服务架构动静分离将静态请求与动态请求分开,这样服务端就可以专注于处理其擅长的动态请求,而静态资源由于利用到了 Nginx 的 proxy cache 等功能,极大提升对静态资源的处理能力。网关网关(Gateway)又称网间连接器、协议转换器。网关在网络层以上实现网络互连,用于两个高层协议不同的网络互连。网关既可以用于广域网互连,也可以用于局域网互连。使用在不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器。与网桥只是简单地传达信息不同,网关对收到的信息要重新打包,
2021-08-31 16:09:55
434
原创 mysql核心知识点
事务四大特性原子性事务的原子性,要么全部完成,要么完全不起作用隔离性并发访问数据库时,一个用户的事务不被其他事务所干扰,数据库中各个事务相互独立持久性一个事务被提交后,改变是持久的一致性执行事务前后,数据保持一致,多个事务对同一个数据库读取的结果是相同的mysql中关于事务的语句:start trunsaction --开启事务savepoint 保留点 --创建保留点(即:还原点)rollback to 保留点 --回滚commit
2021-08-25 16:02:45
225
原创 redis中的RDB和AOF
redis提供两种方式进行持久化,一种是RDB持久化(原理是将Reids在内存中的数据库记录定时dump到磁盘上的RDB持久化),另外一种是AOF持久化(原理是将Reids的操作日志以追加的方式写入文件)。那么这两种持久化方式有什么区别呢,改如何选择呢?持久化方式RDBRDB持久化是指在指定的时间间隔内将内存中的数据集快照写入磁盘,实际操作过程是fork一个子进程,先将数据集写入临时文件,写入成功后,再替换之前的文件,用二进制压缩存储AOFAOF持久化以日志的形式记录服务器所处理的每
2021-08-23 16:39:50
132
原创 Kafka队列
Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延迟的实时系统、storm/Spark流式处理引擎,web/nginx日志、访问日志,消息服务等等,用scala语言编写,Linkedin于2010年贡献给了Apache基金会并成为顶级开源 项目。队列简介特性高吞吐量、低延迟:kafka每秒.
2021-08-18 09:26:17
395
原创 物理备份和逻辑备份
数据备份是为了尽可能快地全盘恢复运行计算机系统所需的数据和系统信息,它不仅在网络系统硬件故障或人为失误时起到保护作用,同时能在集群环境下失效切换之后备机能够正常接管关键业务的基础。当然,数据备份也是系统灾难恢复的前提之一。从备份模式的角度来说,分为 物理备份 和 逻辑备份 ,也就是我们通常所说的基于文件级的备份和基于数据块级别的备份。物理备份: 物理备份是磁盘块为基本单位将数据从主机复制到备机。逻辑备份: 逻辑备份是以文件为基本单位将数据从主机复制到备机。1. 高效性物理备份是位于文件系统之下和硬
2021-08-17 15:43:20
1888
原创 树莓派(arm64) 架构服务器搭建minio集群
MinIO说明MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。集群搭建(Distributed MinIO)注意分布式Minio里所有的节点需要有同样的access秘钥和secret秘钥,这样这些节点才能建立联接。为了实现这个,你需要在执行minio server命令之前,先将acce
2021-08-13 13:44:42
1597
原创 在容器中搭建运行EMQ服务器(MQTT服务器)
EMQ 是一个百万级分布式开源物联网 MQTT 消息服务器。本文演示如何在容器中搭建运行EMQ服务器(MQTT服务器)各个服务端口说明:1883:MQTT 协议端口8883:MQTT/SSL 端口8083:MQTT/WebSocket 端口8080:HTTP API 端口18083:Dashboard 管理控制台端口1. docker直接安装启动docker run -d --name emqx -p 1883:1883 -p 8081:8081 -p 8083:8083 -p 8084
2021-07-27 11:31:51
1214
原创 go代码开发安全指南
目录1 通用类I. 代码实现1.1 内存管理1.2 文件操作1.3 系统接口1.4 通信安全1.5 敏感数据保护1.6 加密解密1.7 正则表达式2 后台类I. 代码实现1.1 输入校验1.2 SQL操作1.3 网络请求1.4 服务器端渲染1.5 Web跨域1.6 响应输出1.7 会话管理1.8 访问控制1.9 并发保护通用类1. 代码实现类1.1 内存管理1.1.1【必须】切片长度校验在对slice进行操作...
2021-07-23 18:33:28
987
原创 Go: 关于锁(mutex)的一些使用注意事项
1、尽量减少锁的持有时间¶尽量减少锁的持有时间,毕竟使用锁是有代价的,通过减少锁的持有时间来减轻这个代价:细化锁的粒度。通过细化锁的粒度来减少锁的持有时间以及避免在持有锁操作的时候做各种耗时的操作。不要在持有锁的时候做 IO操作。尽量只通过持有锁来保护 IO 操作需要的资源而不是 IO 操作本身:func doSomething() { m.Lock() item := ... http.Get() // 各种耗时的 IO 操作 m.Unlock()}/
2021-07-19 11:49:07
1158
原创 mac完全卸载LV security Agent 类客户端
由于不可抗力因素,大家可能或许会遇到在特定场合会被强力安装j k r j。首先一张图来看下它是干什么的:看到这里有没有心头一惊?意思就是你在电脑的一举一动在领导的视角下都是透明的。废话不多说,此等流氓软件不卸载实在难解心头之愤。下面提供本人是多次尝试以后比较有效的卸载方案:首先打开 访达 找到软件名称,右键删除其次打开 活动监视器 搜索 LV* 找到软件运行进程并杀死此时可能有人会以为这就可以了,但是流氓软件的流氓之处就在于 上述操作只是删除了他的躯体,在删除软件进程时,我们不妨打开详情查
2021-07-14 10:22:27
9119
11
原创 升级 macOS Big Sur 后 Parallels Desktop 16 无法联网问题
macOS Big Sur 11.0 已经正式发布,现在已经可以下载升级安装正式版macOS Big Sur系统了。由于macOS Big Sur是最新发布的系统,所以有一些软件可能会出现一些兼容性方面的问题。比如很多用户反馈Parallels Desktop 16升级到macOS Big Sur出现Windows系统无法联网的问题。要解决Parallels Desktop 16不能联网的问题,有一下两种方法:命令行启动先完全退出Parallels Desktop 16,然后在终端运行以下命令来启
2021-07-07 09:45:03
449
原创 panic: qtls.ConnectionState not compatible with tls.ConnectionState
panic: qtls.ConnectionState not compatible with tls.ConnectionState出现这种错误,是版本兼容问题,下面提供两种方法:将go的版本降下来,看别人的博客有的是说需要降到1.12有的说是1.15以下都可以,我没有尝试。将micro的版本升级:go get github.com/micro/micro/v3完成...
2021-06-11 16:22:54
3204
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人