- 博客(36)
- 收藏
- 关注
原创 Nginx 对客户端请求的限制
设置请求包体的最大值,当 Content-Length 超过这个值时,直接发送 413 响应给客户端。块中,你可以使用不同的指令来控制对这些方法的访问,比如。请求方法会被允许,而其他所有的请求方法都会被拒绝。请求,但只返回请求的头部信息而不返回实体的主体部分。客户端请求限制每秒传输的字节数,0 为不限速。:用于获取目标资源所支持的通信选项。:向指定资源提交数据进行处理请求。:请求服务器删除指定的资源。:用于对资源进行部分修改。:用于向服务器上传文件。:用于请求指定的资源。
2024-04-02 22:03:44
1024
原创 Nginx MIME 相关配置,如何配置 MIME?
这样配置后,Nginx 将在处理文件时发送正确的 MIME 类型,以便客户端(如浏览器)能够正确解释这些文件。每行表示一种 MIME 类型,后面跟着该类型对应的文件扩展名列表。主类型通常表示文件的大类,而子类型更具体地表示了文件的具体类型或格式。:这个指令将包含 Nginx 默认的 MIME 类型文件。:定义了 JavaScript 文件的 MIME 类型,它将应用于。:定义了 JPEG 图片类型的 MIME 类型,它将应用于。:定义了 HTML 类型的 MIME 类型,它将应用于。
2024-04-02 17:15:14
1836
原创 Nginx HTTP请求存储和内存池的配置
HTTP 包体存放的临时目录。接收 HTTP 包体时,如果大小大于。Nginx 开始处理 HTTP 请求时创建的内存池的初始大小。定义了接受一个超大 HTTP 头部请求的个数和每个。的大小,Nginx 会自动降低内存 buffer。时 HTTP 请求包会存储在磁盘中。HTTP 包体内存缓冲区大小。建立 TCP 链接时分配的内存池的初始大小。,则会以一个递增的整数命名并存放到。存储超大 HTTP 头部的内存大小。HTTP header 分配的。代表目录层级,最多有三层目录。HTTP 请求包一律存储到。
2024-04-02 16:43:54
405
原创 Redis 缓存击穿与缓存雪崩
缓存穿透通常发生在查询不存在的数据,缓存击穿发生在热点数据失效时受到并发请求的影响,而缓存雪崩则是由于大量的缓存数据同时失效导致的系统崩溃。解决这些问题的方法也不尽相同,可以通过使用布隆过滤器来避免缓存穿透,设置合理的过期时间和使用互斥锁来避免缓存击穿,以及使用多级缓存和冗余备份来避免缓存雪崩。
2024-03-22 15:51:42
600
原创 Redis 产生阻塞的原因,如何找到阻塞的原因
确认主线程是否存在阻塞, 检查慢查询等信息,发现不合理使用API或数据结构的情况, 如keys、 sort、 hgetall等。关注CPU使用率防止单核跑满。当硬盘IO资源紧张时, AOF追加也会阻塞主线程。另外从CPU竞争、 内存交换、 网络问题等方面入手排查是否因为系统层面问题引起阻塞。
2024-03-18 10:51:06
1394
原创 Redis 主从复制该如何配置?从机配置与主从复制使用 redis 复制流程
reids 主从复制配置,集群拓扑,配置单机多集群案例,redis 是如何进行复制的
2024-03-18 10:47:33
941
原创 Redis Pipeline(管道)与事务的区分
管道通常比事务执行速度更快,因为它批量发送和接收响应,减少了往返时间。事务提供原子性保证,而管道中的命令在整体上并不具备原子性。使用管道时,要注意一组命令之间的独立性,而事务更适用于需要一组命令以原子方式执行的场景。参考资料:《Redis 开发与运维》
2024-03-12 18:49:13
1369
2
原创 Redis 集合与有序集合数据类型及命令详解
redis 集合、redis 有序集合的数据结构详解和redis 集合命令 、redis 有序集合命详解
2024-03-11 18:11:07
1147
原创 Redis 哈希数据结构详解及哈希命令
ziplist(压缩列表) : 当哈希类型元素个数小于hash-max-ziplist-entries配置(默认512个) 、 同时所有值都小于hash-max-ziplist-value配置(默认64 字节) 时, Redis会使用ziplist作为哈希的内部实现, ziplist使用更加紧凑的结构实现多个元素的连续存储, 所以在节省内存方面比hashtable更加优秀。关系型数据库可以做复杂的关系查询, 而Redis去模拟关系型复杂查询开发困难, 维护成本高。如果键或field不存在, 会返回nil。
2024-03-10 23:33:09
563
1
原创 ubuntu 上安装 php 并在 Docker 中挂载 Windows 文件目录
更新软件包安装验证 PHP 安装安装 PHP-FPM:挂载目录创建 Docker 容器 并将将 Windows主机上的目录挂载到容器内的目录中:将 Filename 替换要创建的文件目录,ContainerName 替换成容器名启动容器试试切换到 Filename 查看是否有同步的文件
2024-03-10 13:18:48
516
1
原创 Redis 中的字符串数据结构详解及字符串命令
返回结果分为三种情况: ·值不是整数, 返回错误。·值是整数, 返回自增后的结果。·键不存在, 按照值为0自增, 返回结果为1。例如对一个不存在的键执行incr操作后, 返回结果是1。字符串类型是Redis最基础的数据结构 ,其他几种数据结构都是在字符串类型基础上构建的, 所以字符串类型能为其 他四种数据结构的学习奠定基础。与nx相反, 键必须存在, 才可以设置成功, 用于更新。: 键必须不存在, 才可以设置成功, 用于添加。字符串类型的值实际可以是字符串(设置键值的同时返回的是原键值。
2024-03-09 13:50:25
418
原创 Redis 中的全局命令
dbsize命令在计算键总数时不会遍历所有键, 而是直接获取Redis内置的键总数变量, 所以dbsize命令的时间复杂度是O(1)返回结果为成功删除键的个数, 假设删除一个不存在的键, 就会返回 0。keys命令会遍历所有键, 所以它的时间复杂度是O(n)对键添加过期时间, 当超过过期时间后, 会自动删除键。type命令实际返回的就是当前键的数据结构类型。(integer) 0 //存在。大于等于0的整数: 键剩余的过期时间。如果键不存在, 则返回none。-1: 键没设置过期时间。
2024-03-09 13:48:56
415
原创 Nginx 虚拟主机与请求分发配置详解(listen、server_name、location)
Ngnix 中 listen、server_name、location 配置详解
2024-02-29 23:57:25
1194
原创 Ubuntu 新建网卡操作
在文件中添加一个新的网络接口定义。默认情况下,Ubuntu 18.04及以后版本的配置文件通常是。你可以使用文本编辑器(如。
2024-02-29 08:00:00
1264
原创 为什么要使用 Nginx?Nginx 进程是如何工作的
基于事件驱动的架构能够并发处理百万级别 TCP 连接,单机支持 10 万以上并发连接模块耦合度低,可以进行热部署master 管理进程与 worker 工作进程分离设计,每个 worker 进程相对独立,master 进程可以快速拉起新的 worker 子进程事件驱动型设计,全异步IO,极少的进程间切换 ,使 Nginx 善于处理高并发下的互联网请求。
2024-02-28 16:30:00
395
空空如也
后端开发,求推一款现在入比较合适的 MacBook
2024-09-02
TA创建的收藏夹 TA关注的收藏夹
TA关注的人