自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(131)
  • 收藏
  • 关注

原创 springboot单元测试关闭日志

如果单元测试需要启动springboot,则还需要在application.properties中添加以下内容。容器,则以上内容就可以关闭日志了。如果单元测试没有启动。

2023-12-03 20:59:29 282

原创 导航-导航-导航

Java全栈知识体系

2023-12-03 20:25:59 103

原创 本地仓库设置阿里云镜像

在mirrors节点下添加以下内容。修改maven配置文件。

2023-12-03 17:05:14 143

原创 Postgresql分区表

PostgreSQL分区表

2023-12-02 12:00:47 435

原创 golang学习记录

golang学习记录:

2023-10-28 15:30:14 43

原创 clickhouse

https://daiqiaohong.gitee.io/blog/%E5%A4%A7%E6%95%B0%E6%8D%AE%E6%8A%80%E6%9C%AF%E4%B9%8BClickHouse/

2023-09-03 22:34:15 56

原创 12_Redis为什么这么快&高性能设计之epoll和IO多路复用深度解析

多路复用要解决的问题结论。

2023-08-20 15:15:00 140

原创 11_Redis经典五大类型源码及底层实现

Github:https://github.com/redis/redisredis是key-value存储系统:key一般都是String类型的字符串对象value类型则为redis对象(RedisObject)value可以是字符串对象,也可以是集合数据类型的对象,比如List、Hash、Set、ZsetRedis 6.0[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZSzoTZ18-1692553049425)(/Users/coder/Library/Applicat

2023-08-20 15:00:00 346

原创 mac 终端设置代理

如果使用了 socks5 代理,则需要添加相关的配置信息。

2023-08-20 13:36:22 189

原创 09_Redlock算法和底层源码分析

redisson分布式锁:https://github.com/redisson/redisson/wiki/8.-%E5%88%86%E5%B8%83%E5%BC%8F%E9%94%81%E5%92%8C%E5%90%8C%E6%AD%A5%E5%99%A8#84-%E7%BA%A2%E9%94%81redlock。锁变量由多个实例维护,即使有实例发生了故障,锁变量仍然是存在的,客户端还是可以完成锁操作。在解锁的时候,需要判断当前是锁定状态,并且锁是当前线程持有的。RedLock算法设计理念?

2023-08-20 10:37:04 91

原创 08_Redis分布式锁

JUC中AQS锁的规范落地参考,可冲入锁考虑,lua脚本,redis命令 逐步实现分布式锁。防止张冠李戴,不能私下unlock别人的锁,只能自己加锁自己释放,自己上的锁必须自己解。若在redis集群环境下,不能因为某一个节点挂了而出现获取锁和释放锁失败的情况。杜绝死锁,必须有超时控制机制或者撤销操作,有个兜底终止跳出方案。同一个节点的同一个线程如果获得锁之后,它也可以再次获取这个锁。任何时刻只能有且仅有一个线程持有。高并发情况下,依旧性能良好。

2023-08-19 14:48:31 99

原创 03_缓存双写一致性

如何选择方案?利弊如何在大多数业务场景下,优先使用先更新数据库,再删除缓存的方案(先更库→后删缓存)。理由如下:先删除缓存值再更新数据库,有可能导致请求因缓存缺失而访问数据库,给数据库带来压力导致打满nysql。如果业务应用中读取数据库和写缓存的时间不好估算,那么,延迟双删中的等待时间就不好设置。如果使用先更新数据库,再删除缓存的方案。

2023-08-19 14:47:17 1441

原创 06_布隆过滤器BloomFilter

由一个和构成,用来快速判断集合中是否存在某个元素备注:布隆过滤器时一种类似set的数据结构,只是统计结果在巨量数据下有 小瑕疵,不够完美。

2023-08-19 14:45:53 94

原创 07_缓存预热&缓存雪崩&缓存击穿&缓存穿透

提前将数据从数据库同步到redis。是什么请求去查询一条记录,先查redis无,后查mysql无,都查询不到该条记录,但是请求每次都会打到数据库上面去,导致后台数据库压力暴增,这种现象我们称为缓存穿透,这个redis就变成了一个摆设。简单说就是,本来无一物,两库都没有。既不在Redis,也不在数据库,数据库存在被多次暴击风险解决缓存穿透最怕恶意攻击,使用空对象缓存、布隆过滤器可解决空对象缓存或者缺省值黑客或者恶意攻击黑客会对你的系统进行攻击,拿一个不存在的id去查询数据,会产生大量的请求到数据库去查询。可能

2023-08-19 14:44:44 1351

原创 06_布隆过滤器BloomFilter_副本

由一个和构成,用来快速判断集合中是否存在某个元素备注:布隆过滤器时一种类似set的数据结构,只是统计结果在巨量数据下有 小瑕疵,不够完美。

2023-08-19 14:44:14 75

原创 05_bitmap&hyperloglog&GEO

类似今日头条、抖音、淘宝这样的额用户访问级别都是亿级的,请问如何处理?

2023-08-19 14:43:44 116

原创 04_Redis与mysql数据双写一致性案例

是什么canal[ka’nel,中文翻译为水道/管道/沟渠/运河,主要用途是用于MySQL数据库增量日志数据的订阅、消费和解析,是阿里巴巴开发并开源的,采用Java语言开发;历史背景是早期阿里巴巴因为杭州和美国双机房部署,存在跨机房数据同步的业务需求,实现方式主要是基野业务tig9er(触发器)获取增量变更。从2010年开始,阿里巴巴逐步尝试采用解析数据库日志获取增量变更进行同步,由此衍生出了canal 项目;能干嘛数据库镜像数据库实时备份索引构建和实时维护(拆分异构索引、倒排索引等)

2023-08-19 14:43:09 321

原创 02_BigKey

大批量往redis里面插入2000w测试数据key真实生产案例[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LfbSfvNL-1692427337323)(https://you-blog.oss-accelerate.aliyuncs.com/2023/202303052248850.png)]生产上严禁使用。通过修改配置文件redis.conf,严禁使用高危命令。不能用keys *,因为会卡顿,那用什么。

2023-08-19 14:42:36 77

原创 01_Redis单线程与多线程

在谈Redis的单线程或多线程时,需要根据版本来区分。Redis重要里程碑:Redis单线程定义:主要是指Redis的网络IO和键值对读写是由一个线程来完成的,Redis在处理客户端的请求时(包括获取(Socket读)、解析、执行、内容返回(Socket写)),都是由一个顺序串的主线程处理,这就是所谓的“单线程”。这也是Redis对外提供键值存储服务的主要流程。但是Redis的其他功能,比如持久化RBD、AOF、异步删除、集群数据同步等,其实是由额外的线程执行的。Redis命令工作线程是单线程的,但是,对整

2023-08-19 14:42:02 956

原创 00_Redis面试题

有这么一种情况,微服务查询redis无,mysql有,为保证数据双写一致性,回写redis需要注意什么?用户在手机App上的签到打卡信息:1天对应1系列用户的签到记录,新浪微博、钉钉打卡签到,来没来如何统计?抖音电商直播,主播介绍的商品有评论,1个商品对应了1系列的评论,排序+展现+取前10条记录。

2023-08-19 14:40:55 92

原创 服务注册-nacos

将安装包上传至服务器,解压到。启动服务,如果注册成功,在。配置文件中,添加以下信息。

2023-07-23 17:58:06 250

原创 SkyWalking安装部署&简单使用

添加maven依赖信息

2023-07-23 14:50:43 1331

原创 centos服务器从阿里云同步时间

使用定时任务同步时间。

2023-07-23 10:44:52 631 1

原创 07_ES嵌套数据类型

聚合查询:根据username和car_name进行分组,对car_price求和。模拟一种数据存储场景,一个人有多辆车,需要将人和车的信息保存在一起。

2023-04-05 20:55:52 201

原创 在Java中,使用RSA实现加解密

在Java中,使用RSA实现加解密

2022-07-17 23:20:29 423

原创 在Java中使用AES实现加解密

在Java中使用AES实现加解密

2022-07-17 23:19:58 331

原创 在java中使用三重DES实现加解密

在Java中使用三重DES实现加解密

2022-07-17 23:19:17 254

原创 在java中使用DES算法实现加解密

在Java中使用DES算法实现加解密

2022-07-17 23:18:30 627 2

原创 ES证书认证相关笔记

elasticsearch集群间安全访问,kibana与es间安全访问,浏览器与es间安全访问

2022-06-11 00:33:04 2245

原创 kafka消费者

一、kafka消费方式二、kafka消费者工作流程2.1 消费者总体工作流程2.2 消费者组原理Consumer Group(CG):消费者组,由多个consumer组成。形成一个消费者组的条件,是所有消费者的groupid相同。消费者组内每个消费者负责消费不同分区的数据,一个分区只能由一个组内消费者消费。消费者组之间互不影响。所有的消费者都属于某个消费者组,即消费者组是逻辑上的一个订阅者。消费者初始化流程:每个consumer都发送JoinGroup请求选出一个consu

2022-05-27 21:18:52 470

原创 KafkaBroker

一、Kafka Broker 工作流程1.1 zookeeper中存储的kafka信息启动zk客户端:./bin/zkCli.sh查看kafka信息:ls /kafka1.2 kafka broker 总体工作流程broker启动,向zk注册自己先注册的controller为controller的leader由选出的controller监听brokder节点的变化controller决定选举broker的leadercontroller将节点信息上传至zk

2022-05-27 21:18:17 1992

原创 KafkaTopicAPI

创建topic@Testpublic void createTopic() { Properties properties = new Properties(); properties.setProperty(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, "kafka-21:9092,kafka-22:9092"); AdminClient adminClient = KafkaAdminClient.create(properties);..

2022-05-27 21:17:35 126

原创 kafka生产者

一、生产者消息发送流程1.1 发送原理在消息发送的过程中,涉及到了两个线程——main 线程和 Sender 线程。在 main 线程 中创建了一个双端队列 RecordAccumulator。main 线程将消息发送给 RecordAccumulator, Sender 线程不断从 RecordAccumulator 中拉取消息发送到 Kafka Broker。1.2 生产者参数列表bootstrap.servers: 生产者连接集群所需的 broker 地址清单。例如 kafka-01:90

2022-05-27 21:16:31 211

原创 kafka常用命令

创建topickafka-topics.sh --bootstrap-server localhost:9091,localhost:9092,localhost:9093 --create --topic test-topic-01 --replication-factor 1 --partitions 1--bootstrap-server:指定kafka节点地址--create:指定本次命令是创建 topic--topic:指定topic名称--replication-factor:..

2022-05-27 21:15:39 145

原创 kafka安装

一、zookeeper安装在同一台服务器上,以不同端口(2181,2182,2183)运行三个zookeeper,形成一个伪集群下载安装包cd /opt/softwarewget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.8.0/apache-zookeeper-3.8.0-bin.tar.gz解压安装包tar -zxvf zookeeper.tar.gz -C /opt/module/zooke

2022-05-27 21:14:29 90

原创 Linux常用设置

设置Linux终端路径修改配置文件 ~/.bashrc修改或添加以下配置export PS1='[\u]$ '\u 当前登录的用户名\h 当前的主机名 (hostname)\w 当前路径\W 只显示当前文件夹名称保存退出,让文件生效source ~/.bashrcLinux命令行忽略大小写在用户家目录下创建“.inputrc”文件vim ~/.inputrc编辑文件,添加配置set completion-ignore-case on保存退出,重启终

2022-05-15 21:04:11 253

原创 Linux安装docker

安装脚本:#!/bin/bashyum install -y gcc gcc-c++yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-selinux \docker-engine-selinux \docker-engineyum remove docker*

2022-05-15 17:57:53 74

原创 Centos7配置阿里云yum镜像

安装wgetyum -y install wget备份Centos7自带的镜像源文件mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_back下载镜像源文件wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo下载镜像源文件 wget -O /etc/yum.rep..

2022-05-15 17:49:56 755

原创 Linux安装git

安装在联网情况下yum -y install git配置全局配置(命令行修改)git config --global user.name "your name"git config --global user.email "your email"全部配置(修改配置文件)修改 ~/.gitconfig 文件[user] name = yourName email = yourEmail...

2022-05-15 17:44:08 116

原创 Linux安装zsh

安装zsh注意:需要先安装gityum -y install zsh wget https://gitee.com/mirrors/oh-my-zsh/raw/master/tools/install.sh -O - | zsh安装插件 zsh-syntax-highlightingcd /root/.oh-my-zsh/custom/pluginsgit clone https://gitee.com/pankla/zsh-syntax-highlighting.gitgit c..

2022-05-15 15:20:41 707

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除