- 博客(24)
- 资源 (5)
- 收藏
- 关注
原创 Redis学习(四)Redis主从、哨兵、集群
Redis学习(四)Redis主从、哨兵、集群Redis主从复制什么是主从复制主对外从对内,主可写,从不可写主挂了,从不可为主主从配置主Redis配置主Redis无需特殊配置从Redis配置修改redis.conf文件:# slaveof <masterip> <masterport># 表示当前【从服务器】对应的【主服务器】的IP是127.0.0.1,端口是6379。slaveof 127.0.0.1 6379实现原理Redis的主从同步,分为全量
2021-03-14 23:42:47 300 2
原创 Redis学习(三)Redis RDB和AOF持久化
Redis学习(三)Redis RDB和AOF持久化Redis持久化Redis是一个内存数据库,为了保证数据的持久性,他提供了两种持久化方案RDB、AOFRDB持久化方式(默认)RDB方式是通过快照(snapshotting)完成的,当符合一定条件时Redis会自动将内存中的数据进行快照并持久化到硬盘。触发快照的时机符合自定义的配置的快照规则redis.conf执行save或者bgsave命令执行flushall命令执行主从复制操作(第一次)快照规则的设置(漏斗型)save 多少
2021-03-14 23:37:07 194
原创 Redis学习(二)Redis内存模型
Redis学习(二)Redis内存模型Redis内存统计> info memory# Memory#Redis分配的内存总量,包括虚拟内存(字节)used_memory:1696776# 占操作系统的内存,不包括虚拟内存(字节)used_memory_rss:3612672# 内存比例碎片 如果小于0说明使用了虚拟内存mem_fragmentation_ratio:2.18# Redis使用的内存分配器mem_allocator:jemalloc-5.1.0Redis内存分配
2021-03-14 23:17:28 292
原创 Redis学习(一)Redis基础
Redis学习(一)Redis基础Redis介绍什么是Redis?Redis是用c语言开发的一个开源的高性能键值对(key-value)内存数据库,他是一种NoSql数据库。他是【单进程单线程】的内存数据库,所以说不存在线程安全问题。他可以支持并发10w/QPS,所以说性能非常优秀。之所以单进程单线程性能还这么好,就是因为底层采用了【IO多路复用(NIO思想)】相比Memcache这种专业缓存技术,它有更优秀的读写能力,及丰富的数据类型。他提供了五中数据类型来存储(值):字符串类型(St
2021-03-14 23:07:34 196
原创 MySQL 的主从复制
Mysql的主从复制一、什么是主从复制 主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库;主数据库一般是准实时的业务数据库,在最常用的MySQL数据库中,支持单项、异步复制。在赋值的过程中,一个服务器充当主服务器,而另一台服务器充当从服务器;此时主服务器会将更新信息写入到一个特定的二进制文件中(bin log日志)。 并会维护文件的一个索引用来跟踪日志循环。这个日志可以记录并发送到从服务器的更新中去。当一台从服务器连接到主服务器时,从服务器会通知主服务器从服务器的日志文
2021-03-10 21:22:05 106
原创 MySQL学习(五)MySQL的事务(2)
MySQL(五)MySQL的事务(2)InnoDB的事务分析RedoLogredo log写入磁盘时,必须进行一次操作系统的fsync操作,防止redo log只是写入了操作系统的磁盘缓存中,参数innodb_flush_log_at_trx_coomit可以控制redo log的落盘策略Undo Log数据库崩溃重启后需要从redo log中把未落盘的脏页数据恢复出来,重新写入磁盘,保证用户的数据不会丢失。当然,在崩溃恢复中还需要回滚没有提交的事务。由于回滚操作需要undo lo
2021-03-10 17:50:04 156
原创 MySQL学习(四) MySQL的事务(1)
MySQL (四) MySQL的事务(1)事务介绍在MySQL中的事务是由存储引擎实现的,而且支持事务的存储引擎不多,我们主要学习InnoDB存储引擎的事务。事务处理可以用来维护数据库的完整性,保证成批的SQL语句要么全部执行,要么全部不执行。事务用来管理DDL、DML、DCL操作,比如insert、update、delete语句,默认是自动提交的。事务四大特性(ACID)Atomicity(原子性):构成事物的所有操作必须是一个逻辑单元,要么全部执行成功,要么全部不执行成功。Consist
2021-03-10 00:02:03 165 1
原创 MySQL学习(三)MySQL的锁
MySQL(二)MySQL的锁MySQL的锁介绍MySQL表级锁表级锁的介绍由MySQL SQl Layer层实现MySQL的表级锁有两种:表锁元数据锁(meta data lock,MDL)MySQL实现的表级锁定的争用状态变量show status like ‘table%’;- table_locks_immediate:产生表级锁定的次数;- table_locks_waited:出现表级锁定争用而发生等待的次数;表锁介绍表锁有两种展现形式表
2021-03-09 23:52:24 150 1
原创 MySQL学习(二)MySQL的索引
MySQL(二)MySQL的索引索引介绍索引是什么 官方介绍索引是帮助MySQL高效获取数据的数据结构。更通俗的说,数据库索引好比是一本书的目录,能加快数据库的查询速度。索引的优劣势优势:可以提高数据检索的性能,降低数据库的IO成本,类似于书的目录。–检索通过索引列对数据进行排序,降低数据排序的成本,降低了CPU的消耗。 --排序被索引的列会自动进行排序,包括【单列索引】和【组合索引】,只是组合索引的怕排序要复杂一些。如果按照索引的列进行排序,对应order by语句来说,效率
2021-02-16 17:57:20 184 1
原创 MySQL学习(一)MySQL架构
MySQL架构MySQL知识图谱一.MySQL架构篇逻辑架构逻辑架构图连接器:(Connectors)系统管理和控制工具:(Management Services & Utilities)连接池:(Connection Pool)SQL Layer Mysql 业务层: SQl接口(SQL Interface):接收SQL的 DML DDL 解析器(Parser): select * from t; 语法分析:分词—> 形成语法树; 语法分析
2021-02-03 21:43:06 122
原创 Mybatis插件开发
Mybatis插件开发这里主要了解一下Mybatis的插件开发。Mybatis插件介绍Mybatis插件准确的说应该是拦截器,接口名为Interceptor,在配置中叫插件,功能非常强大,可以让我们无侵入式的对SQL的执行进行干涉,从SQL语句重写、参数注入、结果集返回等每个主要环节。MyBatis默认支持对4大对象 Executor (update, query, flushStatements, commit, rollback, getTransaction, close, isClos
2021-01-21 15:36:16 268
原创 Mybatis源码学习(四)
Mybatis源码分析(四)上回我们分析了Mybatis解析mapper映射文件的代码,我们继续上次的分析,开始mybatis执行sql语句的流程,话不多说咱们上代码!!!!!!上回总结 上回我们分析了mybatis解析mapper映射文件的过程解析***Mapper.xml文件的mapper标签;解析select|insert|update|delete标签;解析动态sql语句将sql语句解析后封装为一个SqlSource;通过builderAssistant(构建者助手),构建Mapp
2020-11-20 17:11:16 131 1
原创 Mybatis源码学习(三)
Mybatis源码分析(三)上回我们分析了Mybatis解析核心配置文件的代码,我们继续上次的分析,开始mapper映射文件的解析,话不多说咱们上代码!!!!!!Mapper映射文件的前奏上次我们说到调用mapperElement(root.evalNode("mappers")),解析核心配置文件中的“mappers”标签/** * 解析<mappers>标签 * @param parent mappers标签对应的XNode对象 * @throws Excepti
2020-11-13 00:00:04 131
原创 Mybatis 源码学习(二)
Mybatis源码分析(二)话不多说咱们上代码!!!!!!核心配置文件 Mybatis的核心配置文件,一般命名为mybatis-config.xml,这个文件包含了使用mybatis的时候的所有配置,只有正确加载了该配置文件,mybatis才能正常工作;<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
2020-11-10 23:48:18 288
原创 Mybatis 源码学习(一)
Mybatis源码分析(一)准备:下载mybatis源码,导入idea开发工具,编写mybatis的测试需要的类、全局配置文件等。认识mybatis的整体架构,主要的类的作用。通过断点调试来完成Mybatis的源码阅读。认识Mybatismybatis简介 mybatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。mybatis几乎避免了所有的jdbc代码和手动设置参数以及获取结果集,它可以使用简单的XML或注解的来配置和映射SQL信息,将接口和java 的 PO
2020-10-30 10:42:03 239
原创 Docker (六) 简单部署 FastDFS 文件系统
Docker (六) 部署 FastDFS 文件系统1.拉取镜像 docker search fastdfs docker pull docker.io/delron/fastdfs查看下载好的镜像 docker images 2.创建容器创建tracker容器: docker run -di --network=host --name DFSTracker -v /usr/local/FastDfs/data/tracker:/var/fdfs docker.io/d
2020-09-08 23:01:13 261
原创 Docker (五) 部署 Redis
Docker 部署 Redis1.搜索镜像docker pull redis2.拉取镜像docker pull redis:3.23.查看镜像docker images4.创建redis容器docker run -di --name=myRedis -p 6379:6379 -v /usr/local/redis/data:/data docker.io/redis:3.2 --requirepass "123456"创建成后docker ps 查看正在运行的镜像5.使用
2020-08-18 16:14:59 120
原创 Docker (四) 部署 mysql
Docker 部署mysql1. 拉取镜像docker search mysql #搜索mysql镜像docker pull docker.io/mysql #拉取mysql最新的镜像查询已经拉取的镜像 docker inages :2.创建需要映射的文件夹mkdir /usr/local/mysqlcd /usr/local/mysqlmkdir data conf logscd conftouch mysql.cnf3.创建容器docker run -di #创
2020-08-16 15:59:01 152
原创 Docker (三) 容器操作
Docker 容器操作1.查看容器docker ps --查看正在运行的容器docker ps -a --查看所有的容器docker ps -l --查看最后一次运行的容器docker ps -f status=exited --查看停止的容器列名含义CONTAINER ID容器的IDIMAGE创建容器使用的镜像COMMAND运行容器中软件执行的命令CREATED容器创建的时间STA
2020-08-16 14:53:50 143
原创 Docker (二) 镜像操作
1. 列出镜像1.1 列出宿主机上所存在的镜像docker images第一次安装docker的时候是没有镜像的,所以我们看到镜像信息的空的,给我们展示的是每一列的tittle。列名含义备注REPOSITORY镜像所在的仓库名称TAG镜像标签为了区分同一个仓库下的不同镜像,Docker 提供了一种称为标签(Tag)的功能。每个镜像在列出来时 都带有一个标签IMAGE ID镜像的 IDCREATED创建时间镜像的创建日期(不是获取该镜像的日期
2020-07-21 22:24:28 200
原创 Docker (一) 安装与启动
1 安装环境说明Docker 官方建议在 Ubuntu 中安装,因为 Docker 是基于 Ubuntu 发布的,而且一般 Docker 出现的问题 Ubuntu 是最先更新或者打补丁的。在很多版本的 CentOS 中是不支持更新最新的一些补丁包的,这里我是将 Docker 安装到 CentOS 上。注意:这里建议安装在 CentOS7.x 以上的版本,在 CentOS6.x 的版本中,安装前需要安装其他很多的环境而且 Docker 很多补丁不支持更新2 安装 Docker 与卸载2.1
2020-07-15 17:40:14 167
原创 Docker 容器化技术(介绍)
1 虚拟化技术因为 Docker 的容器化技术是虚拟化的一种体现形式,因此 我们要学习容器化技术之前,需要先来了解一下什么是虚拟化技术:1.1 什么是虚拟化技术在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制。一般所指的虚拟化资源包括计算能力和资
2020-07-11 12:21:22 1316
原创 centos7 JDK(JAVA环境)安装
注意:这⾥安装的是Oracle JDK1.准备JDK安装包我这⾥下载的是 jdk-8u251-linux-x64.tar.gz 安装包,并将其直接放在了 /usr/local/java⽬录下2.卸载已有的OPENJDK(如果有)如果系统⾃带有 OpenJDK ,可以按照如下步骤提前卸载之。⾸先查找已经安装的 OpenJDK 包接下来可以将 java 开头的安装包均卸载即可:yum -y remove java-1.7.0-openjdk-1.7.0.141-2.6.10.5.el7.x86_
2020-07-07 22:50:58 128
原创 MYSQL数据库部署和安装
MYSQL数据库部署和安装1.⾸先准备安装包2.卸载系统⾃带的MARIADB(如果有)3.解压MYSQL安装4.创建MYSQL⽤户和⽤户组5.修改MYSQL⽬录的归属⽤户6.准备MYSQL的配置⽂件7.正式开始安装MYSQL8.复制启动脚本到资源⽬录9.设置MYSQL系统服务并开启⾃启10.启动MYSQLD11.将 MYSQL的BIN⽬录加⼊PATH环境变量12.⾸次登陆MYSQL13.接下来修改ROOT账户密码14.设置远程主机登录15.利⽤NAVICAT等⼯具进⾏测试即可1.⾸先准备安装包这⾥下载的
2020-07-06 21:59:46 535
SWIFT报文标准实用手册--SWIFT报文基础知识--SWIFT报文校验.zip
2021-06-11
renren-fast开源开发文档3.0-完整版.zip
2020-06-22
java_RSA加解密+RSA分段加解密.zip
2020-06-13
JavaScript_RSA加解密+分段加解密.zip
2020-06-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人