阅读本文大概需要 5 分钟. 本文大纲 复制过程 数据间的同步 全量复制 部分复制 心跳 异步复制 总结 一.复制过程 Step 1:从节点执行 slaveof 命令. Step 2:从节点只是保存了 slaveof 命令中主节点的信息,并没有立即发起复制. Step 3:从节点内部的定时任务发现有主节点的信息,开始使用 socket 连接主节点. Step 4:连接建立成功后,发送 ping 命令,希望得到 pong 命令响应,否则会进行重连. Step 5:如果主节点设置了权限,那么就需要进…
本文学习知识点 redis五大数据类型数据类型:string.hash.list.set.sorted_set 五大类型各自的应用场景 @TOC 1. string类型 1-1 string类型数据的基本操作 添加 / 修改数据:set key value 获取数据:get key 删除数据:del key 添加 / 修改多个数据:mset key value key1 value1 获取多个数据:mget key key1 追加信息到原始数据后边(不存在时则添加):append key val…
1. 前言 C#语言接入Sonar代码静态扫描相较于Java.Python来说,相对麻烦一些.Sonar检测C#代码时需要预先编译,而且C#代码必须用MSbuid进行编译,如果需要使用SonarQube对C#进行代码质量分析,则需要下载Sonar-Scanner-MSBuild和MSBuild,其中要求MSBuild在V14.0以上. 2. Sonar-Scanner for MSBuild安装与配置 1.下载SonarQube Scanner for MSBuild,它是C# Framewor…
转载自本人独立博客https://liushiming.cn/2020/01/18/copy-and-paste-in-vim/ 概述 复制粘贴是文本编辑最常用的功能,但是在vim中复制粘贴还是有点麻烦的,有一点学习成本.本文总结了使用vim复制粘贴的典型场景和使用方法,希望对读者有帮助. vim内部复制.粘贴.剪切 选择文本 v+光标移动 (按字符选择)高亮选中所要的文本,然后进行各种操作(比如,d表示删除). V (按行选择) v+选中的内容+c 更改选中的文字 复制:y(ank) y 用v…
一.事务简介 事务是数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成. 一个数据库事务通常包含了一个序列的对数据库的读/写操作.它的存在包含有以下两个目的: 为数据库操作序列提供了一个从失败中恢复到正常状态的方法,同时提供了数据库即使在异常状态下仍能保持一致性的方法. 当多个应用程序在并发访问数据库时,可以在这些应用程序之间提供一个隔离方法,以防止彼此的操作互相干扰. 当事务被提交给了DBMS(数据库管理系统),则DBMS需要确保该事务中的所有操作都成功完成且其结果被永久保…
本文旨在通过爬取一系列博客网站技术文章的实践,介绍一下scrapy这个python语言中强大的整站爬虫框架的使用.各位童鞋可不要用来干坏事哦,这些技术博客平台也是为了让我们大家更方便的交流.学习.提高的,大家千万要珍惜哦(-_-). 本文目录: 0.开发环境 1.目标介绍 2.爬取目标 2.1.csdn博客 2.1.1 如何判断是否为Ajax方式异步获取的? 2.1.2 爬虫实现 2.1.2.1 修改spider接口实现 2.1.2.2 修改items.py文件 2.1.2.3 修改pipeli…
前言 与大多数db一样,Redis也提供了复制机制,以满足故障恢复和负载均衡等需求.复制也是Redis高可用的基础,哨兵和集群都是建立在复制基础上实现高可用的.复制不仅提高了整个系统的容错能力,还可以水平扩展,实现在一个重读取的应用中,通过增加多个Redis只读从实例来减轻主实例的压力. 本文主要介绍Redis复制机制 一.配置与实践 配置 Redis实例分为主节点(master)和从节点(slave),默认情况下都是主节点.每一个从节点只能有一个主节点,但是每一个主节点可以有多个从节点(注意数…
本文介绍Spring Boot.Vue .Vue Element编写的项目,在Linux下的部署,系统采用Mysql数据库.按照本文进行项目部署,不迷路. 1. 前言 典型的软件开发,经过"需求分析","概要设计","详细设计","开发及单元测试","前后端联调","生产环境上线".到了发布到生产环节的环节,紧张的神经,终于可以松一口气了!!! 且慢,部署也是很重要的一环,稍有不慎就会&…
SDR - Spring Data Redis的简称. Spring Data Redis提供了从Spring应用程序轻松配置和访问Redis的功能.它提供了与商店互动的低级别和高级别抽象,使用户免受基础设施问题的困扰. Spring Boot 实战 引用依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis&…
SpringCloud实战项目全套学习教程连载中 PassJava 学习教程 简介 PassJava-Learning项目是PassJava(佳必过)项目的学习教程.对架构.业务.技术要点进行讲解. PassJava 是一款Java面试刷题的开源系统,可以用零碎时间利用小程序查看常见面试题,夯实Java基础. PassJava 项目可以教会你如何搭建SpringBoot项目,Spring Cloud项目 采用流行的技术,如 SpringBoot.MyBatis.Redis. MySql. Mon…
Ubuntu下FastDFS分布式文件系统配置与部署 白宁超 2017年4月15日09:11:52 摘要: FastDFS是一个开源的轻量级分布式文件系统,功能包括:文件存储.文件同步.文件访问(文件上传.文件下载)等,解决了大容量存储和负载均衡的问题.特别适合中小文件(建议范围:4KB < file_size <500MB),对以文件为载体的在线服务,如相册网站.视频网站等.本文通过两次单机环境配置均没有错误,第1-4章节主要是对FastDFS背景发展原理及linux基本介绍,如果读者只是安…
前面我们写过C#在redis中存储常用的5种数据类型demo,没看过的可以点击电梯直达:https://www.cnblogs.com/xiongze520/p/10267804.html 我们上一篇说到Windows7系统中使用nginx部署服务器集群:https://www.cnblogs.com/xiongze520/p/10308720.html 部署完成后我们对于session的共享没有完成,之前小编想做一个session服务器做共享,然后看到评论AjuPrince和三当家的方法,我决…
Redis整体面貌 Redis基本数据结构 1.String 1.1 数据结构 long len byte数组长度 long free 可用数组长度 char buff[] 数据内容 1.2 命令 键值:设置值通过字符串名 set:设置键值 setnx(set not exist):设置键值|若键不存在则可以存,否则返回0. setex(set expire):设置键值(含过期时间),set key seconeds value setrange:设置指定位置key的键值 例如setrange…
Redis 简介 Redis 是完全开源免费的,遵守 BSD 协议,是一个高性能的 key - value 数据库 Redis 与 其他 key - value 缓存产品有以下三个特点: Redis 支持数据持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用. Redis 不仅仅支持简单的 key - value 类型的数据,同时还提供 list,set,zset,hash 等数据结构的存储 Redis 支持数据的备份,即 master - slave 模式的数据备份 Red…
Flask 一 .Flask简介 Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收http请求并对请求进行预处理,然后触发Flask框架,开发人员基于Flask框架提供的功能对请求进行相应的处理,并返回给用户,如果要返回给用户复杂的内容时,需要借助jinja2模板来实现对模板的处理,即:将模板和数据进行渲染,将渲染后的字符串返回给用户浏览器. "微"(micro) 并不表…
本文对正则表达式和 Python 中的 re 模块进行详细讲解 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例的人,却不知道如何去学习更加高深的知识.那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!QQ群:1097524789 什么是正则表达式 正则表达式作用 元字符及含义 re模块详解 正则表达式修饰符 正则表达式实例 本文目录 什么是正则表达式 正则表达式(regula…
一.Redis概述及安装 1.概述: 1.1.Redis是一个开源的key - value存储系统. 1.2.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set -- 有序集合)和hash(哈希类型). 1.3.这些数据类型都支持push/pop.add/remove以及取交集.并集.和差集等更丰富的操作,而且这些操作都是原子性的. 1.4.Redis支持各种不同形式的排序. 1.5.与Mem…
为 Windows Terminal 添加标签页 添加 Anaconda 标签页 在settings.json文件中的list列表中添加设置项: { // Make changes here to the cmd.exe profile. "guid": "{0caa0dad-35be-5f56-a8ff-afceee452369}", "name": "Anaconda", "icon": "D…
! https://zhuanlan.zhihu.com/p/442182870 Java8 新特性 学习来源于 B站 尚硅谷yyds Java学习源码 2021/11/22 距离,过年还有 57 天,想家~ JDK1.8已经发布很久了,在很多企业中都已经在使用 虽然,JDK是向下兼容的不会新特性也一样可以正常开发,但是作为程序员还是要不断更新新的技术. 不要求啥都会,但要求能看懂! Java 8 是oracle公司于2014年3月发布 是自Java 5 以 来最具革命性的版本 Java 8为J…
redis简介 redis 一款高性能key-value数据库,实际上多用作缓存队列或者消息分发(celery),但是最常常被用来做缓存. redis安装 源码安装 $ wget http://download.redis.io/releases/redis-2.8.17.tar.gz $ tar xzf redis-2.8.17.tar.gz $ cd redis-2.8.17 $ make 命令安装 $sudo apt-get update $sudo apt-get install red…
好久没写博客了.   最近公司开了新项目,我负责的内容之一是系统的后端.具体项目内容我就不介绍了,但是用到的技术有些还是很有趣的,值得记录一下.今天介绍的就是其中一个:利用redis的pubsub订阅消息功能做消息队列.   对于这个功能本身,还是比较简单的.redis本身支持了publish/subscribe的功能,publish是广播消息,subscribe是订阅消息.服务端使用 publish [channel] [content] 发布了一条消息,如果客户端已经提前订阅了这个频道,这个…
随着科技不断的发展,使用到的技术也是更新换代,大家都知道当一个程序用户量上来之后,必然是要做数据缓存的,那么如何去实现的呢,在之前我们一直使用memcache去做数据缓存,现在众所周知主流的缓存技术已经换成redis了,说实话,没有对比就没有伤害,用过redis的人肯定不再希望去用memcache了,举个最简单的例子,对hash的存储以及提供的各种函数,真的是让memcache望尘莫及啊,好了,废话不多说,直接上干货. 一.安装redis windows版安装: 1.下载redis:https:…
我几乎每天都使用 Git,但仍然无法记住很多命令. 通常,只需要记住下图中的 6 个命令就足以供日常使用.但是,为了确保使用地很顺滑,其实你应该记住 60 到 100 个命令. Git 相关术语 Git 中不可避免会遇到下面几个术语,不搞清楚它们,后面只会更懵逼. 工作区(Working Directory) 暂存区(Stage/Index) 本地历史仓库(Repository) 远程仓库(Remote) 对照下图,下面一一进行介绍. 工作区 我们写代码的地方就是工作区,就是在电脑里能看到的目录…
1 面试题 Redis的过期策略都有哪些?内存淘汰机制都有哪些?手写一下LRU代码实现? 2 考点分析 1)我往redis里写的数据怎么没了? 我们生产环境的redis怎么经常会丢掉一些数据?写进去了,过一会儿可能就没了.我的天,同学,你问这个问题就说明redis你就没用对啊.redis是缓存,你给当存储了是吧? 啥叫缓存?用内存当缓存.内存是无限的吗,内存是很宝贵而且是有限的,磁盘是廉价而且是大量的.可能一台机器就几十个G的内存,但是可以有几个T的硬盘空间.redis主要是基于内存来进行高性能…
1.  依赖包安装 yum -y install cpp binutils glibc glibc-kernheaders glibc-common glibc-devel gcc make gcc-c++ libstdc++-devel tcl 2. 安装包准备 可以从官网  https://redis.io下载最新版redis wget http://download.redis.io/releases/redis-4.0.14.tar.gz .tar.gz 3.  编译.安装 cd red…
一.背景:SpringCloud 生态圈 在正式开始本篇文章之前我们先岔开来讲一下SpringCloud的生态圈. SpringCloud大家都比较熟悉了,它制定了分布式系统的标准规范,做了高度抽象和封装,然后将业界公司比较成熟以及经得起实际考验的框架整合起来.通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂.易部署和易维护的分布式系统开发工具包.我们之前常用的一些SpringCloud组件大部分来自于Netflix公司,比如我们熟知的Eure…
作者简介 王海龙,Rancher中国社区技术经理,负责Rancher中国技术社区的维护和运营.拥有6年的云计算领域经验,经历了OpenStack到Kubernetes的技术变革,无论底层操作系统Linux,还是虚拟化KVM或是Docker容器技术都有丰富的运维和实践经验. 前 言 K3s 是一个轻量级的 Kubernetes 发行版,在 2020 年统计的 K3s 下载量中,K3s 的全球下载量已经超过 100 万次,每周平均被安装超过 2 万次,其中 30%的下载量来自于中国.在国内已经有许多…
前言 在深入探讨Spring Cloud Gateway的细节之前,让我们了解有关反向代理和api网关模式的一些基础知识. 什么是反向代理? 反向代理是代表其他事物进行请求的事物.它的行为更像是简单的路由.它可以增加基本的安全性和监视功能,但实际上不能做某些高级事情,例如中介或业务流程.NGINX是众所周知的反向代理服务器之一. 什么是API网关? 简而言之,API Gateway是增强的反向代理,具有更高级的功能,包括编排以及增加的安全性和监视功能.Netflix Zuul(上文介绍),Ama…
Redis 拥有高性能的数据读写功能,被我们广泛用在缓存场景,一是能提高业务系统的性能,二是为数据库抵挡了高并发的流量请求,点我 -> 解密 Redis 为什么这么快的秘密. 把 Redis 作为缓存组件,需要防止出现以下的一些问题,否则可能会造成生产事故. Redis 缓存满了怎么办? 缓存穿透.缓存击穿.缓存雪崩如何解决? Redis 数据过期了会被立马删除么? Redis 突然变慢了如何做性能排查并解决? Redis 与 MySQL 数据一致性问题怎么应对? 今天「码哥」跟大家一起深入探索…
Elastic-Job支持 JAVA API 和 Spring 配置两种方式配置任务,这里我们使用 JAVA API 的形式来创建一个简单的任务入门,现在都是 Spring Boot 时代了,所以不建议使用 Spring 配置文件的形式. Elastic-Job 需要依赖 Zookeeper 中间件,用于注册和协调作业分布式行为的组件,目前仅支持 Zookeeper.我们已经创建了 Zookeeper 集群! 环境要求 1.Java 请使用 JDK 1.7 及其以上版本. 2.Zookeeper…