DOCKER 十月 10, 2022

三 docker镜像

文章字数 14k 阅读约需 13 mins.

  • Docker 镜像是只读的容器模板,是Docker容器基础
  • 为Docker容器提供了静态文件系统运行环境(rootfs)
  • 区分: 容器是镜像的运行状态,镜像是容器的静止状态.

概念

是实现联合挂载...

查看全文

DOCKER 十月 10, 2022

三 docker镜像

文章字数 14k 阅读约需 13 mins.

  • Docker 镜像是只读的容器模板,是Docker容器基础
  • 为Docker容器提供了静态文件系统运行环境(rootfs)
  • 区分: 容器是镜像的运行状态,镜像是容器的静止状态.

概念

是实现联合挂载技术的文件系统.可以实现在一个挂载点同时挂在多个文件系统,将挂载点的原目录与被挂载内容进行整合,使得最终可见的文件系统包含整合后的各层文件与目录.

图示

容器文件系统中有多种存储驱动实现方式:aufs,devicemapper,overlay,overlay2等.docker目前默认使用的是overlay2...

查看全文

JAVA 十月 01, 2022

lombook注意点1

文章字数 5.4k 阅读约需 5 mins.

问题描述

一个实体类存有pId,即第一个字母小写,第二个字母大写的情况.

public class Department {
    private Long id;
    private Long pId;
    private String name;
}

如果走idea自动生成的get/set方法,为区分其驼峰,get/set后面跟的第一个字母不会大写,这样输出给前端的值将是正常的驼峰格式.

public class Department {
    private Long id;
    ...
查看全文

JAVA 十月 01, 2022

maven 上传私服

文章字数 3.6k 阅读约需 3 mins.

1.配置maven的settings配置.其中包含私服地址,账户等信息.

2.在idea中关联maven配置文件settings

关联settings

3.pom中配置私服地址

  <!-- 使用分发管理将本项目打成jar包,直接上传到指定服务器 --> 
  <distributionManagement> 
    <!--正式版本--> 
    <repository> 
      <!-- nexus服务器中用户名:在settings.xml中<server>的id...
查看全文

中间件 七月 10, 2022

redis (零) 安装

文章字数 30k 阅读约需 28 mins.

snap 安装方式

github地址redis-hashes 选择5.0的最新版本.5.0.14

单节点

# 1.下载安装包
wget http://download.redis.io/releases/redis-5.0.14.tar.gz
# 2.解压
tar -zxf redis-5.0.14.tar.gz
# 3.进入文件夹,可以查看readme.md来查看安装步骤与参数设置.
# make本质时读取makefile文件里的命令集,所以可以通过阅读具体的makefile来了解具体的安装...
查看全文

中间件 七月 10, 2022

redis (一) 概念

文章字数 6.3k 阅读约需 6 mins.

  • 磁盘

    • 寻址速度为毫秒ms级别
    • 带宽为G/M级别
    • 磁盘,磁道,扇区512Byte.
    • 操作系统中读多少都是以4K为最小单位.
  • 内存

    • 寻址速度为纳秒ns级别.
    • 带宽无太多限制

    数据库引擎网站 https://db-engines.com/en 可以查看排名与使用量.等信息

BIO,NIO知识

BIO

  1. 创建两个阻塞的socket连接.
  2. 两个client连接接入,发送了文件描述为fd8与fd9,应用分别开启俩个线程来读取文件描述符,获取状态.
  3. 当fd8连接的数据还未到达时,线程获取到cpu...
查看全文

中间件 七月 10, 2022

redis (二) 配置文件

文章字数 7.2k 阅读约需 7 mins.

# 绑定IP: 指定 redis 只接收来自于该IP地址的请求,如果不进行设置,那么将处理所有请求
bind 127.0.0.1

# 保护模式: 只允许绑定的IP验证密码后访问.
# 要是配置里没有指定bind或密码, 开启该参数后,redis只会本地进行访问,拒绝外部访问。
# 如果想任意客户端都能访问需要关闭保护模式
protected-mode yes

# 服务端口号
port 6379

# 客户端空闲超时等待时间,0 则为不主动断开连接.
timeout 0

# 是否后台执行
deamonize...
查看全文

中间件 七月 10, 2022

redis (三) 数据类型即用法

文章字数 29k 阅读约需 27 mins.

  • REDIS_ENCODING_INT(long 类型的整数)
  • REDIS_ENCODING_EMBSTR embstr (编码的简单动态字符串)
  • REDIS_ENCODING_RAW (简单动态字符串)
  • REDIS_ENCODING_HT (字典)
  • REDIS_ENCODING_LINKEDLIST (双端链表)
  • REDIS_ENCODING_ZIPLIST (压缩列表)
  • REDIS_ENCODING_INTSET (整数集合)
  • REDIS_ENCODING_SKIPLIST (跳跃表和字典)...
查看全文

中间件 七月 10, 2022

redis (四) RDB&AOF日志

文章字数 4.3k 阅读约需 4 mins.

​ Redis 是一种内存数据库,将数据保存在内存中,读写效率要比传统的将数据保存在磁盘上的数据库要快很多。但是一旦进程退出,Redis 的数据就会丢失。

​ 为了解决这个问题,Redis 提供了 RDB 和 AOF 两种持久化方案,将内存中的数据保存到磁盘中,避免数据丢失。

​ 把当前 Redis 进程的数据生成时间点快照( point-in-time snapshot ) 保存到存储设备的过程,为redis默认持久化方式.

持久化简单过程

  1. 调用bgsave命令,父进程接收命令判断是否可持续...
查看全文

中间件 七月 10, 2022

redis (五) RDB日志详解

文章字数 27k 阅读约需 25 mins.

本文中的源码来自 Redis 5.0 ,RDB持久化过程的相关源码都在 rdb.c 文件中.

​ 上图表明了三种触发 RDB 持久化的手段之间的整体关系。通过 serverCron 自动触发的 RDB 相当于直接调用了 bgsave 指令的流程进行处理。而 bgsave 的处理流程启动子进程后,调用了 save 指令的处理流程。

serverCron(自动触发持久化逻辑)

redisServer 结构体的 save_params指向拥有三个值的数组,该数组的值与 redis.conf 文件中 save...

查看全文

中间件 七月 10, 2022

redis(六) AOF日志详解

文章字数 21k 阅读约需 19 mins.

之前已经大致的讲解过aof的整体执行流程.

主要有四点:

  • 命令追加
  • 文件写入
  • 日志重写
  • 日志重载.

本文会根据以上四点,分析源码来了解redis具体的执行过程,以更好的理解机制.

​ 当AOF持久化功能处于打开状态时,服务器在执行完一个写命令之后,会以协议格式将被执行的写命令追加到服务器状态的aof_buf缓冲区的末尾.

追加时机:

  • 客户端命令
  • 过期健删除,内存淘汰等发生时,会删除对应的key,也会把删除命令通过propagate函数传播到AOF中
  • 事务追加传播命令时,会在头和尾加上”multi...
查看全文
加载更多
0%