- 博客(14)
- 收藏
- 关注
原创 万字详解 Redis
Redis是一种开源的、基于内存的数据结构存储系统,可以用作数据库缓存消息队列等。它支持多种数据结构,如字符串(String)、哈希(Hash)、列表(List)、集合(Set)、有序集合(Sorted Set)、位图(Bitmaps)、HyperLogLogs、地理空间索引(Geospatial Indexes)等。Redis 的高性能和丰富的数据结构使其在分布式系统中广泛应用。总结:从官方的解释,我们知道 Redis 是一个内存数据库且支持多种数据结构。
2024-09-04 21:45:00
2330
原创 深入解析 Go 中 Map
Go 语言中的map是一种内建的数据结构,用于存储键值对。它类似于其他编程语言中的哈希表或字典,提供了快速的插入、删除和查找操作。本文将深入浅出介绍map基本概念、使用方式、核心原理、性能以及最佳实践,帮助读者更好的理解和使用map。如果您觉得有帮助,请关注我,另公众号【小张的编程世界】,如有任何错误或建议,欢迎指出。
2024-08-30 20:32:45
1522
原创 深入解析 Go 中 Slice
slice是一种灵活且强大的数据结构,它在功能上类似于其他编程语言中的数组,但提供了更多的灵活性。与数组不同,slice允许动态调整长度,使其在大多数场景中更加适用。本文将深入解析slice的基本概念及底层实现原理,并通过分析一些面试中常见的易错题,加深对slice的理解。使用的go版本1.22slice是基于数组构建的一个轻量级数据结构,拥有长度和容量两个属性,可以通过多种方式进行初始化。// 直接初始化// 使用make创建,指定长度和容量。
2024-08-29 21:45:00
1568
原创 Go 并发编程之Channel
本文通过介绍channel的基本概念、图解底层数据结构,并剖析源码,深入探讨了channel的工作原理。通过这些内容,读者能够更全面地理解channel的机制,不仅有助于在实际开发中更高效地使用channel,还能为定位和解决相关问题提供理论支持。通过对channel的深入剖析,本文为后续的并发编程实践奠定了坚实的基础,帮助开发者在复杂的并发场景中游刃有余。如果您觉得有帮助,请关注我,另公众号【小张的编程世界】,如有任何错误或建议,欢迎指出。
2024-08-28 22:46:41
4153
原创 golang GMP模型
gmp模型能够在高并发场景下高效地管理和执行goroutine,最大化利用系统资源,同时保证系统的公平性和负载均衡。如果您觉得有帮助,请关注我,另公众号【小张的编程世界】,如有任何错误或建议,欢迎指出。
2024-08-27 21:05:41
1172
原创 Go 并发编程之协程
进程的出现是为了更好的利用CPU资源使到并发成为可能。假设有两个任务A和B,当A遇到IO操作,CPU默默的等待任务A读取完操作再去执行任务B,这样无疑是对CPU资源的极大的浪费。聪明的老大们就在想若在任务A读取数据时,让任务B执行,当任务A读取完数据后,再切换到任务A执行。注意关键字切换,自然是切换,那么这就涉及到了状态的保存,状态的恢复,加上任务A与任务B所需要的系统资源(内存,硬盘,键盘等等)是不一样的。自然而然的就需要有一个东西去记录任务A和任务B分别需要什么资源,怎样去识别任务A和任务B等等。进程。
2024-08-24 16:51:27
1289
原创 RabbitMQ 从原理到实战—golang版本
RabbitMQ是由erlang语言开发,基于AMQP(Advanced Message Queue 高级消息队列协议)协议实现的消息队列,它是一种应用程序之间的通信方法,消息队列在分布式系统开发中应用非常广泛。特点:基于AMQP协议来实现。主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。AMQP协议更多用在企业系统内,对数据一致性、稳定性和可靠性要求很高的场景,对性能和吞吐量的要求还在其次。可靠性:采用一系列机制来确保消息的可靠性,如持久化、传输确认和发布确认等方法。
2024-08-22 22:37:03
1706
原创 Vue 项目部署上线 Centos7(保姆级教程)
输入服务器地址:端口,有购买域名并备案的也可以直接输入域名:端口。前端基于Vue集成Element-UI框架。最近自己捣鼓实现了一个Web个人博客系统。将部署过程中遇到的问题整理记录下。的错误可以尝试在打包前在终端执行。下面生成一个nginx目录。后端基于go+gin框架。下载安装Nginx安装包。安装好Nginx之后会在。如果在打包过程中遇到。本文采用第二种方法(
2024-08-20 11:52:36
654
原创 Kubernetes 课程笔记系列六之存储
持久卷(PersistentVolume,PV)是集群中的一块存储,可以由管理员事先制备, 或者使用存储类(Storage Class)来动态制备。持久卷是集群资源,就像节点也是集群资源一样。PV 持久卷和普通的 Volume 一样, 也是使用卷插件来实现的,只是它们拥有独立于任何使用 PV 的 Pod 的生命周期。持久卷申领(PersistentVolumeClaim,PVC)表达的是用户对存储的请求。概念上与 Pod 类似。Pod 会耗用节点资源,而 PVC 申领会耗用 PV 资源。
2024-08-07 23:00:00
1031
原创 Kubernetes 课程笔记系列五之配置ConfigMap&Secret
ConfigMap 是 Kubernetes 中的一种 API 对象,用于存储非机密的配置数据,采用键值对的形式。它允许你将配置与容器化应用程序分离,使应用程序更加便携。使用时, Pod 可以将其用作环境变量命令行参数或者存储卷中的配置文件。Secret 是一种 API 对象,用于存储和管理敏感信息,例如密码、OAuth 令牌和 SSH 密钥。Secret 可以在 Pod 中作为环境变量或文件挂载使用,类似于 ConfigMap,但具有更高的安全性。
2024-08-06 22:00:00
391
原创 Kubernetes 课程笔记系列四之 Service
在 Kubernetes (k8s) 中,Service 是一种重要的抽象,用于定义一组逻辑上的 Pod 以及访问这些 Pod 的策略。它在集群中提供了一种稳定的访问方式,即使 Pod 的 IP 地址发生变化,Service 仍然能够保证稳定的访问。Pod 中的端口定义是有名字的,你可以在 Service 的targetPort属性中引用这些名字。
2024-08-06 08:39:55
935
原创 Kubernetes 课程笔记系列三之 Controller 控制器
在 Kubernetes (k8s) 中,控制器 (Controller) 是负责维护集群状态并确保集群内的实际状态与期望状态一致的一类组件。控制器通过观察集群的当前状态并将其与用户定义的期望状态进行对比,做出相应的调整来实现状态的一致性。StatefulSet 是用来管理有状态应用的工作负载 API 对象。StatefulSet 用来管理某 Pod集合的部署和扩缩, 并为这些 Pod 提供持久存储和持久标识符。和 Deployment 类似, StatefulSet 管理基于相同容器规约的一组 Pod。
2024-08-04 23:31:12
849
原创 Kubernetes课程笔记系列二之 pod 和容器
Pod 是可以在 Kubernetes 中创建和管理的、最小的可部署的计算单元。Pod(就像在鲸鱼荚或者豌豆荚中)是一组(一个或多个) 容器;这些容器共享存储、网络、以及怎样运行这些容器的规约。Pod 中的内容总是并置的并且一同调度,在共享的上下文中运行。简单来说就是 Pod 是用来管理一组(一个或多个)容器的集合。其特点是Pod之间的容器共享网络,共享存储,共享上下文环境的。
2024-08-02 16:09:34
957
2
原创 Kubernets 课程笔记系列一
Kubernetes这个名字源于希腊语,意为“舵手”或“飞行员”。K8s 这个缩写是因为 K 和 s 之间有 8 个字符的关系。Google 在 2014 年开源了 Kubernetes 项目。Kubernetes 建立在Google 大规模运行生产工作负载十几年经验的基础上, 结合了社区中最优秀的想法和实践。Kubernetes是一个可移植、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化。Kubernetes 拥有一个庞大且快速增长的生态,其服务、支持和工具的使用范围相当广泛。
2024-07-31 11:48:59
889
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人