首页
架构设计
后端
java
python
PHP
前端
vue
react
js+ccs
nodejs
AI
运维
Linux
常用工具
中间件
软件部署
运维随笔
问题记录
系列文章
redis理论及实战
RabbitMQ安装及原理
RocketMQ
Kafka
mysql5.7使用及原理
elasticsearch
轻松玩转大模型微调
K8S
软考
系统架构师
系统分析师
我的动态
路口、下车
累计撰写
78
篇文章
累计创建
52
个标签
累计收到
2
条评论
栏目
首页
架构设计
后端
java
python
PHP
前端
vue
react
js+ccs
nodejs
AI
运维
Linux
常用工具
中间件
软件部署
运维随笔
问题记录
系列文章
redis理论及实战
RabbitMQ安装及原理
RocketMQ
Kafka
mysql5.7使用及原理
elasticsearch
轻松玩转大模型微调
K8S
软考
系统架构师
系统分析师
我的动态
目 录
CONTENT
以下是
运维
相关的文章
2025-08-22
redis理论及实战 第三篇:redis数据结构与类型
本文详细介绍了Redis中的数据结构与类型。Redis是一个键值存储数据库,使用Dict结构保存所有的key-value对。文章重点讲解了几种核心数据结构:SDS(简单动态字符串),具有O(1)时间复杂度获取长度、支持动态扩容和内存预分配等优点;IntSet,基于整数数组实现的集合,支持自动升级编码方式以节省内存;Dict,通过哈希表实现高效查询,具备渐进式rehash机制;ZipList,一种特殊的双端链表,用于紧凑存储小数据量列表;QuickList,结合了ZipList和双向链表的优点,解决大容量存储时的性能问题;SkipList,作为有序集合Zset的基础,提供高效的查找、插入和删除操作。此外,还讨论了RedisObject及其内部结构,以及五大数据类型的编码方式及转换条件。每种结构都针对特定场景进行了优化,以平衡内存使用和访问效率。
2025-08-22
9
0
0
系列文章
运维
redis理论及实战
中间件
2025-08-22
redis理论及实战 第二篇:redis理论与原理
Redis是一个key-value数据库,支持多种数据结构作为value。文章介绍了Redis中常见的几种数据结构及其操作命令: 1. **String**:用于存储字符串、整数或浮点数,支持自增、自减等操作。常用命令包括`set`、`get`、`mset`、`mget`、`incr`、`incrby`、`incrbyfloat`等。 2. **Hash**:类似Java中的HashMap,用于存储字段-值对。适用于缓存用户信息等场景。主要命令有`hset`、`hget`、`hmset`、`hmget`、`hgetall`等。 3. **List**:一个链表结构,支持从两端添加和移除元素。适合实现队列、栈等数据结构。关键命令如`rpush`、`lpush`、`rpop`、`lpop`、`lrange`等。 4. **Set**:无序不重复的元素集合,支持交集、并集等操作。适用于标签系统、点赞/踩等功能。常用命令有`sadd`、`srem`、`scard`、`sismember`、`smembers`等。 5. **Sorted Set (ZSet)**:每个元素关联一个分数,通过分数排序。适用于排行榜等需要排序的场景。重要命令包括`zadd`、`zrem`、`zscore`、`zrank`、`zcount`等。 6. **HyperLogLogs**:用于基数统计,例如独立访客数。核心命令是`pfadd`、`pfcount`、`pfmerge`。 7. **Bitmaps**:基于位图的数据结构,适用于记录二元状态(如打卡记录)。常用命令为`setbit`、`getbit`、`bitcount`。 8. **Geospatial**:地理位置相关的功能,可以进行距离计算、范围查询等。关键命令有`geoadd`、`geopos`、`geodist`、`georadius`等。 这些数据结构及相应的命令为Redis提供了丰富的功能,能够满足各种应用场景的需求。
2025-08-22
10
0
0
系列文章
redis理论及实战
中间件
运维
2025-08-22
redis理论及实战 第一篇:redis安装与使用
本文介绍了在Ubuntu虚拟机上单机安装Redis的详细步骤,包括下载、依赖安装、解压与编译、配置文件修改及启动服务等。还提供了通过Docker安装Redis的方法,并展示了如何设置自启服务。此外,文章讲述了使用Redis命令行客户端和图形化界面客户端(如RDM)进行连接的具体方法。最后,针对可能出现的内存警告问题,提出了两种解决方案,并给出了一些系统和应用层面的优化建议,以提高Redis性能和稳定性。
2025-08-22
8
0
0
redis理论及实战
中间件
运维
系列文章
2025-08-21
mysql5.7使用及原理 第二篇:理论及原理
MySQL的体系结构分为四层:连接层、服务层、存储引擎层和系统文件层。连接层负责客户端与服务器的连接,支持多种编程技术,并引入线程池概念以提高效率。服务层是核心部分,处理包括SQL接口、查询缓存、解析器、优化器等在内的主要功能。存储引擎层负责数据的实际存储与提取,支持多种插件式存储引擎如MyISAM和InnoDB。系统文件层则涉及数据文件、日志文件等物理存储。 运行机制方面,MySQL通过半双工通信协议建立客户端与服务端之间的连接;查询时首先检查缓存,若无则进行语法解析生成解析树,接着由优化器生成最优执行计划,最后执行并返回结果。对于存储引擎,尤其是InnoDB,默认从MySQL 5.6.13版本开始成为首选,它支持事务、外键及行级锁等功能,在高并发读写场景下表现更优。 此外,文章还详细介绍了InnoDB引擎的逻辑存储结构(表空间、段、区、页)及其内存结构(缓冲池、更改缓冲区等),以及B+树索引的工作原理。针对SQL优化、锁定机制(全局锁、表级锁、行级锁)、事务ACID特性保证方式、MVCC实现细节、各种日志类型(错误日志、二进制日志、慢查询日志)的作用及配置方法进行了深入探讨。最后简要提及了主从复制的基本原理及其应用场景。
2025-08-21
15
0
0
系列文章
中间件
运维
mysql5.7使用及原理
2025-08-21
mysql5.7使用及原理 第一篇:安装与使用
本文介绍了在Ubuntu系统下使用Docker安装MySQL 5.7,并配置一主一从复制环境的详细步骤。首先,通过`docker pull mysql:5.7`拉取镜像,然后分别创建并配置主(master)和从(slave)MySQL容器。对于主服务器,需要设置特定的配置文件`my.cnf`,包括设置`server_id`、开启二进制日志等,并创建用于数据同步的用户。接着,按照类似步骤配置从服务器,并通过`change master to`命令将其指向主服务器,最后启动主从复制。文章还简要提及了使用Mycat进行分库分表的参考资源。
2025-08-21
9
0
0
mysql5.7使用及原理
中间件
系列文章
运维
2025-08-21
showdoc在Linux下部署-源程序部署
ShowDoc是一个由国内开发者star7th创建的开源文档管理平台,专为个人和团队设计,支持API文档管理和Markdown编辑等功能,适用于中小型技术团队。该平台基于PHP + MySQL + Bootstrap构建,界面简洁、操作方便且免费。ShowDoc还支持多种部署方式,包括本地服务器安装和Docker部署等,便于企业进行私有化部署和数据安全管理。本文介绍了在CentOS 7.9系统上手动部署ShowDoc的具体步骤,主要包括安装PHP环境(版本7.4)、安装Nginx以及下载并部署ShowDoc源码至PHP的Web目录下。通过这些步骤,用户可以快速搭建起一个属于自己的文档管理系统。
2025-08-21
7
0
0
运维
运维随笔
Linux
软件部署
2025-08-21
elasticsearch安装及使用 第五篇:ES自动补全
本文介绍了如何在Elasticsearch中安装和使用拼音分词器,并详细说明了自定义分词器的配置。首先,文章指导读者查看ES安装与使用的相关文档以完成拼音分词器的安装。接着,通过示例展示了如何创建包含character filters、tokenizer及tokenizer filter三部分的自定义分词器,并给出了测试用例来验证其功能。此外,还演示了如何利用RestClient对Elasticsearch索引进行操作,包括修改mapping映射、批量导入数据以及实现基于自动补全建议的搜索查询。最后,通过代码片段具体呈现了整个过程的操作步骤。
2025-08-21
7
0
0
运维
中间件
elasticsearch
系列文章
2025-08-21
elasticsearch安装及使用 第四篇:ES聚合查询
文章介绍了Elasticsearch中的聚合查询功能,用于对文档数据进行统计、分析和运算。主要分为三类:桶(Bucket)聚合、度量(Metric)聚合和管道(Pipeline)聚合。桶聚合用于分组,如TermAggregation按字段值分组,Date Histogram按日期阶梯分组;度量聚合计算数值,包括平均值、最大值、最小值等;管道聚合基于其他聚合结果进一步处理。文章提供了多种DSL语句示例,展示如何执行这些聚合操作,并通过RestClient实现代码解析了聚合结果。此外,还提供了一个实际应用案例,展示了如何动态显示筛选内容的接口实现。
2025-08-21
13
0
0
运维
系列文章
中间件
elasticsearch
2025-08-21
elasticsearch安装及使用 第三篇:ES与RestClient
文章介绍了使用Elasticsearch进行全文检索的配置和示例代码。首先,需要在项目中添加Elasticsearch的依赖,并指定版本号。接着,在`application.yml`文件中配置Elasticsearch的连接地址。通过创建一个`ElasticSearchConfig`类来配置`RestHighLevelClient`实例。文章详细说明了如何执行`match_all`查询、全文检索的`match`和`multi_match`查询、`wildcard`模糊查询、精确查询(如`term`和`range`)、布尔查询以及排序、分页和高亮功能。每个查询都包括准备请求、构建DSL、发送请求和解析响应四个步骤。此外,还提供了用于处理搜索请求的`HotelServiceImpl`类的具体实现,展示了如何结合多种查询条件进行复杂的搜索操作。
2025-08-21
7
0
0
elasticsearch
中间件
运维
系列文章
2025-08-21
elasticsearch安装及使用 第二篇:ES理论与原理
文章介绍了Elasticsearch(ES)与MySQL的对比,重点讲解了ES中的索引库和文档的CRUD操作。索引库创建时需定义mapping映射属性,包括字段类型、是否创建倒排索引等,并通过PUT请求新增索引库;查询、修改和删除则分别使用GET、PUT或POST以及DELETE方法。对于文档的操作,如新增、查询、修改(全量或增量)、删除也有详细的语法说明。此外,文章还讨论了多种查询方式,例如全文检索(match_all, match, multi_match, wildcard)、精确查询(term, range)、地理坐标查询(geo_bounding_box, geo_distance)及复合查询(function score, bool query),并解释了如何处理搜索结果,包括排序、分页及高亮显示。最后,针对大规模数据集,提供了深度分页问题的解决方案建议。
2025-08-21
41
0
0
中间件
elasticsearch
系列文章
运维
1
2
3
4