- 博客(56)
- 资源 (3)
- 收藏
- 关注
原创 windows环境同时配置github | gitee | gitlab
1. 清除 git 的全局设置(针对已安装 git)新安装 git 则跳过。如果不确定当前电脑是否安装过,可以用 git config --global --list 进行查看你是否设置查看配置列表git config --global --list$ git config --global user.name "你的名字"$ git config --global user.email "你的邮箱"必须删除该全局设置$ git config --global --unset
2021-06-06 14:35:06
349
原创 RedisTemplate Serializer在springboot中使用默认序列化方式引起的问题
1.背景spring boot中使用redis,默认使用JdkSerializationRedisSerializer来序列化,但是默认的序列化会有个问题:java端存完了,取redis-cli执行:key * ,会发现键值都带有\xAC\xED\x00\x05t\x00\x05这种字符,这如果在集群环境下会导致问题!2.实践测试 @Test public void testSerializer(){ String stringRedisTemplateName =
2021-04-27 17:00:20
4543
原创 Redis数据淘汰策略 LRU深入分析 (二)
1.前言上篇文章我们整体上介绍了redis的淘汰策略,而其中LRU和LFU两种算法又是极其重要的,接下来我们从底层原理开始逐一揭开它们的神秘面纱!2. LRU2.1 LRULRU(least recently used),从字面上理解是最近最少使用的有兴趣可查看redis官方文档关于这块的介绍,点击查看实现LRU算法除了需要key/value字典外,还需要附加一个链表,聊表中元素按照一定顺序排列,当空间满的时候就剔除尾部的元素,当字典的某个元素被访问时,他在链表中的位置会被移动到表头,所以链表的
2020-12-06 19:27:27
278
原创 Redis数据淘汰策略 概论 (一)
Redis5.0数据淘汰策略详解(最新版本,面试常问)作为一个内存数据库,redis在内存空间不足的时候,为了保证命中率,就会选择一定的数据淘汰策略,这篇文章主要讲解常见的几种内存淘汰策略。和我们操作系统中的页面置换算法类似。一、参数设置我们的redis数据库的最大缓存、主键失效、淘汰机制等参数都是通过配置文件来配置的。这个文件是我们的redis.config文件,我们的redis装在了/usr/local/redis目录下,所以配置文件也在这里。首先说明一下我使用的redis是5。也是目前最新的版本
2020-12-06 17:38:18
135
原创 canal的安装和使用
1.前言canal [kə’næl],译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费阿里巴巴将此项目开源了 点击前往简介2.配置及安装先配置mysql master[root@VM-0-15-centos ~]# whereis my.cnfmy: /etc/my.cnf[root@VM-0-15-centos ~]# vi /etc/my.cnf...[canal]log-bin=mysql-bin #添加这一行就ok ,
2020-11-29 01:32:20
451
3
原创 如何实现数据库DB与其他中间件(redis/elastic search/mongoDB)的双写一致性?
如何利用mysql的主从原理,通过binlog结合消息队列来更新redis,以实现mysql和redis 的强一致性
2020-11-27 20:33:08
4277
5
原创 rabbitmq实战(五)——RabbitMQ集群(镜像集群)
可查看 rabbitmq官方集群方案架构图This guide covers mirroring (queue contents replication) of classic queues --摘自官网By default, contents of a queue within a RabbitMQ cluster are located on a single node (the node on which the queue was declared). This is in contras
2020-09-29 19:28:01
958
原创 rabbitmq实战(四)——RabbitMQ集群(主从副本集群)
架构图集群规划 node0: 192.168.226.130 mq0 master 主节点 node1: 192.168.226.131 mq1 repl1 副本节点 node2: 192.168.226.132 mq2 repl2 副本节点1.修改三台机器主机名和ip映射更改三台MQ节点的计算机名分别为mq0、mq1 和mq2,然后修改hosts配置文件vim /etc/hostname //其他两台相同 mq0.localdomainvi /etc/ho
2020-09-29 18:54:51
4774
2
原创 docker实战(八)安装rabbitmq
前言机器:centos7安装了docker,如果没有安装可点击这篇安装教程开始安装可以先上docker hub上查看一下rabbitmq的最新版本信息注意:需要web界面管理的话要下载 -management 的版本的拉取镜像[root@mq0 ~]# docker pull rabbitmq:3.8.9-management#也可以直接不带版本号,即最新版本[root@mq0 ~]# docker pull rabbitmq:management#查看镜像[root@mq0
2020-09-29 00:35:20
177
原创 docker实战(三)镜像的打包和还原(save&load)
前言docker允许我们自定义生成和修改配置,那么我们如何备份和传输这些自定义镜像??重新看一看docker的整体架构图其实docker提供save&load这两个命令支持镜像和文件之间的转化docker save1. 描述Save one or more images to a tar archive (streamed to STDOUT by default)将一个或者多个镜像保存成tar文件(默认不带参数是标准输出流)docker save [OPTIONS] IMA
2020-09-27 22:27:28
3736
原创 docker实战(二)安装
彻底卸载dockeryum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \
2020-09-25 13:59:27
139
原创 @Configuration注释下的@Value从yml文件中获取不了值
1.背景@Configuration@EnableWebSocketMessageBrokerpublic class WebSocketConfig implements WebSocketMessageBrokerConfigurer { @Value("${spring.rabbitmq.host}") private String relayHost; @Override public void configureMessageBroker(MessageB
2020-09-22 17:32:56
4649
原创 elasticsearch 6.8.0安装错误记录
elasticsearch 6.8.0安装错误记录注:elasticsearch需要jdk8以上的环境,需要先安装有jdk8以上,才能运行。错误1:不能以root用户运行org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as rootat org.elasticsearch.bootstrap.Elasticsearch.init(Elasti
2020-09-22 17:13:15
327
原创 解决Stomp(websocket)MessageDeliveryException: Failed to send message to ExecutorSubscribableChannel
异常信息:2020-09-22 09:42:56.581 263170 [http-nio-5556-exec-1] ERROR o.s.w.s.m.StompSubProtocolHandler - Failed to send client message to application via MessageChannel in session uddpnpiw. Sending STOMP ERROR to client.org.springframework.messaging.MessageD
2020-09-22 15:31:48
5894
原创 centos7安装Redis5.0.5
1.下载redis离线上传redis-5.0.5.tar.gz到安装目录,如下[root@VM-0-15-centos ~]# cd /usr/local/software/redis/[root@VM-0-15-centos redis]# lltotal 1932-rw-r--r-- 1 root root 1975750 Sep 19 13:31 redis-5.0.5.tar.gz也可以在线下载wget http://download.redis.io/releases/redis-
2020-09-19 14:19:46
292
原创 github访问速度慢的完整解决方案
1. 修改本地hosts文件windows系统的hosts文件的位置如下:C:\Windows\System32\drivers\etc\hostsmac/linux系统的hosts文件的位置如下:/etc/hosts2. 增加映射访问https://www.ipaddress.com分别输入http://github.global.ssl.fastly.net和http://github.comhttp://github.global.ssl.fastly.net查询结果如下ht
2020-09-13 15:30:45
1660
3
原创 java位运算在实际业务中的应用 总结篇(四)
前言任何一项方案,有利必有弊;性能、实现复杂度、维护成本等等指标之中必定有所取舍的…利:节约了数据库的存储空间网络传输更少字节无需维护多表关系,原本由于字段太多需要单独建表,这张表需要和用户表关联,现在只要在用户表中加一个很短的整型字段弊:需要熟悉位操作弊 , 乍一看只是需要开发者掌握基本位操作就行实则带来了更大的问题并发问题由于页面允许很快速得来回点击,为了好的用户体验,不能限制用户点击速度我们仔细理一下思路单个点击某个按钮前端调接口,告诉后端是哪个设置变动了
2020-09-12 23:58:41
358
1
转载 java位运算在实际业务中的应用 (三)
检测第K位是否为1 (以下运行结果均未补高位0)已知数n,检测其第K位(右起)是否为1,可以用以下表达式:n & (1 << k - 1) 结果为0,说明第K位为0;结果不为0,说明第K位为1。比如我要检测965的二进制第3位是否为1public static void main(String[] args) { int a = Integer.parseInt("1110111010", 2); int k = 1 <<
2020-09-12 19:47:14
273
原创 java位运算在实际业务中的应用 (二)
前言上一章我们分析了利用“二进制浓缩大法”,这章我们分析一下具体会有哪几个具体操作分析1. 新建默认设置//具体根据业务来定//这个方法可以将二进制转成十进制Integer DEFAULT_SETTING = Integer.parseInt("101010", 2);2. 解析默认设置@Data@NoArgsConstructorpublic class NotificationSetting { @JsonSerialize(using = ToStringSeriali
2020-09-12 19:33:54
228
原创 java位运算在实际业务中的应用 (一)
https://blog.youkuaiyun.com/weixin_34261739/article/details/92407752检测第K位是否为1 (以下运行结果均未补高位0)已知数n,检测其第K位(右起)是否为1,可以用以下表达式:n & (1 << k - 1) 结果为0,说明第K位为0;结果不为0,说明第K位为1。比如我要检测965的二进制第3位是否为1public static void main(String[] args) { int a =
2020-09-12 19:30:56
307
原创 Incompatibile SockJS! Main site uses: “1.5.0“, the iframe: “1.0.0“. at s (VM6 sockjs.min.js:2)
问题背景:前后端建立websocket连接的时候,前端使用了SocketJS异常信息:
2020-09-12 17:51:45
9052
5
原创 spring boot项目中页面报错 Refused to display in a frame because it set ‘X-Frame-Options‘ to ‘DENY‘
1. 背景在springboot项目中前后端建立websocket连接,页面会报错!!!2.异常信息这个会导致使用iframe模式上传图片或者iframe嵌套页面时,会报如下异常信息:Refused to display in a frame because it set ‘X-Frame-Options’ to ‘DENY’3. 解决方法拓展WebSecurityConfigurerAdapter的配置public class SecurityConfig extends WebSecu
2020-09-08 09:46:52
1209
原创 centos7上快速安装mysql8.0
centos7上快速安装mysql一:去官网查看最新安装包https://dev.mysql.com/downloads/repo/yum/二:下载MySQL源安装包wget http://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm安装MySql源yum -y install mysql80-community-release-el7-3.noarch.rpm查看一下安装效果yum repolist en
2020-09-07 02:31:19
363
原创 rabbitmq实战(四)——多种消息模型详析
1.前言With tens of thousands of users, RabbitMQ is one of the most popular open source message brokersRabbitMQ有成千上万的用户,是最受欢迎的开源消息代理之一点击rabbitmq官网教程可自行查看2.消息模型介绍1 "Hello World!"The simplest thing that does something第一种模型(直连)在上图的模型中,有以下概念:P:生产者,也就
2020-09-06 17:45:54
206
原创 mysql5.7先分组再取最新一条记录时order by失效
1. 业务场景项目中有个小型的私信功能,需要查询出聊天列表且展示与所有聊天对象的最后一条聊天记录;因此需要按照聊天对象分组,找出与每个聊天的最后一条消息,group by和order by就得同时使用;2. SQL先排序再分组取第一条SELECT p.id, COUNT( p.friend ) AS msgCnt, p.USER, p.friend, p.sender, p.receiver, p.send_time AS sendTime, p.content, u.nic
2020-09-06 15:45:43
1018
原创 idea中安装docker插件连接docker server
1. 前言微服务项目原本采用的jar包的方式部署,考虑到后面会随着业务量增大,某些服务会复制多份,采用docker实现部署会更加方便和快捷;2.安装环境安装了docker的服务器,且支持远程连接idea开发环境springboot或者springcloud项目file——> setting——>plugins——>marketplace——>docker安装好重启idea后file——> setting——>docker——>新增一个连接——&g
2020-08-25 18:42:31
1280
原创 解锁雪花算法snowflake的新玩法————之隐式添加位标记
1. 背景工作中当前项目采用的是雪花算法作为主键生成策略;业务中碰到过一种情况:个体表user,和团队表team,它们都有一个雪花算法生成的id,如何做到根据id就知道这个id是属于个体还是团体呢???常规的做法我知道的有两种:1.另加一个字段,字段type一直跟着这个id;2.另加一个表,表中一个字段为id,一个字段为类型,麻烦的是要维护这个表的id和类型映射关系;我们能不能控制雪花的生成算法去更简单有效地控制这点呢???2. 简述雪花算法原理SnowFlake算法生成id的结果是一个6
2020-08-21 16:55:10
898
原创 布隆过滤器bloomfilter结合redis实现持久化且支持周期性重置
1. 业务需求业务中由于是分布式前后端分离项目,使用jwt的方式;为了提高用户体验,要求通过快要失效的token去通过接口调用获取新token;调用要求:一个用于刷新的refreshToken只能调用一次即失效,因此需要将每次来的token缓存起来,每次新来的token去缓存中查看是否存在,如果不存在(即首次调用)则返回新token,如果存在则不再返回;2. 解决策略布隆过滤器布隆过滤器(Bloom Filter)的核心实现是一个超大的位数组和几个哈希函数。假设位数组的长度为m,哈希函数的个数
2020-08-18 17:28:02
4598
1
rabbitmq.config
2020-09-24
esl-erlang_23.0.2-1_centos_7_amd64.rpm
2020-09-23
rabbitmq-server-3.8.8-1.el6.noarch.rpm
2020-09-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人