原创 9、Redis分佈式鎖實戰

在【Redis Jedis實戰(含Spring Boot)】基礎上做如下修改: RedisDistributedLockApplication.java package com.java.ashare.redis.distribu

原创 11、Redis緩存雪崩

1、同一時間大量key失效 解決方案:在設計上避免這種情況。 2、宕機 解決方案:redis分佈式(集羣+主從模式)。

原创 3、RabbitMQ生產者、消費者實戰

1、父pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

原创 7-1、Redis Redisson分佈式鎖實戰(含Spring Boot)

在【Redis Jedis實戰(含Spring Boot)】基礎上做如下修改: 1、子pom.xml 添加redisson依賴 <!-- <dependency> <groupId>org.redisson</grou

原创 10、Kafka事務

只有Producer生產消息: 見生產者、消費者實戰代碼。 消費消息和生產消息並存: 這個是事務場景中最常用的情況,就是我們常說的“consume-transform-produce ”模式; 也應用到kafka stream應用

原创 4、Spring 事務

1、Spring 事務 Spring事務是在不同的底層事務管理API的頂部提供一個統一的抽象層。 2、編程式事務和聲明式事務 編程式事務(不推薦): 或者 聲明式事務: xml方式 註解方式:

原创 4、Redis-Cluster集羣模式安裝(Linux僞集羣)

準備 centos7 xshell redis-5.0.6.tar.gz 通過xshell上傳redis-5.0.6.tar.gz到/usr/local/ 解壓tar -xzvf redis-5.0.6.tar.gz

原创 2、Spring IOC

1、Sring IOC 控制反轉:將對象的創建、依賴關係注入(裝配)、銷燬等整個生命週期的操作全部交給IOC容器管理,脫離代碼實現解耦 Spring容器中是一切皆Bean BeanFactory與ApplicationConte

原创 1、RabbitMQ簡介

RabbitMQ是實現了高級消息隊列協議(AMQP)的開源消息代理軟件(亦稱面向消息的中間件)。RabbitMQ服務器是用Erlang語言編寫的,而集羣和故障轉移是構建在開放電信平臺(OTP)框架上的。所有主要的編程語言均有與代理

原创 1、Kafka入門

教程:http://kafka.apachecn.org/ Kafka作爲一個分佈式流處理平臺 1、發佈和訂閱流式的記錄(消息),在這方面,它類似於消息隊列或企業消息系統 2、可以存儲流式的記錄(消息),並且有較好的容錯性 3、可

原创 8、Kafka序列化和反序列化

kafka在發送和接受消息的時候,都是以byte[]字節型數組發送或者接受的。 但是我們平常使用的時候,不但可以使用byte[],還可以使用int、short、long、float、 double、String等數據類型,這是因爲

原创 1、HashMap、CurrentHashMap、LinkedHashMap、TreeMap

1、HashMap jdk1.7和1.8中的區別 底層數據結構不一樣,1.7中使用數組+鏈表,1.8使用數組+鏈表+紅黑樹。 數組默認大小爲16,負載因子爲0.75,如果HashMap的size大於16*0.75就要擴容了,擴

原创 10、Redis緩存穿透、擊穿

緩存穿透 緩存穿透,是指查詢一個數據庫一定不存在的數據。正常的使用緩存流程大致是,數據查詢先進行緩存查詢,如果key不存在或者key已經過期,再對數據庫進行查詢,並把查詢到的對象,放進緩存。如果數據庫查詢對象爲空,則不放進緩存。

原创 13、Redis Mysql數據一致性

1、緩存設置過期時間,保證最終一致性—弱一致性; 2、先更新數據庫,再刪除緩存,暫時不一致性,併發一般情況下考慮; 3、基於訂閱mysql binlog的同步機制,阿里巴巴的一款開源框架canal,提供了一種發佈/ 訂閱模式的同步

原创 4、Kafka生產者、消費者實戰(含SpringBoot)

1、小試身手-命令行 kafka producer默認使用輪巡方式發送消息到分區(不指定分區的情況下) 啓動3個消費者: ./kafka-console-consumer.sh --bootstrap-server 192.168