原创 redis — 持久化機制與內存淘汰策略(二)

1. 存儲數據結構 Redis 總的以 HashTable 存儲,內部存儲 5 種數據結構。 Key-String 字符串存儲; Key-List 列表存儲; Key-Hash 哈希存儲; Key-Set 集合存儲; Key-Z

原创 redis — SpringBoot集成Redis Cache (三)

Spring Boot集成Redis Cache 從 Spring3 開始定義 Cache 和 CacheManager 接口來統一不同的緩存技術; Cache 接口爲緩存的組件規範定義,包含緩存的各種操作集合; Cache 接口

原创 redis — 如何將redis內存使用量壓縮一半(四)

1.背景說明 redis存儲有固定內存,如果以某種方式達到其內存極限,我們的系統將開始出現故障,Redis內存使用量可能會成爲瓶頸。 使用最新版本的Spring Boot,有兩個主要依賴項- Spring Boot Web和Spr

原创 redis — 集羣模式與原理介紹(一)

1 簡介 Redis 提供數據緩存服務,內部數據都存在內存中,所以訪問速度非常快。 服務模式 1.1 主從模式/單機模式 早期,Redis單應用服務亦能滿足企業的需求。之後,業務量的上升,單機的讀寫能力滿足不了業務的需求,技術上實

原创 rabbitmq — 消息確認機制解析

對於某些消息而言,我們有時候需要嚴格的知道消息是否已經被 consumer 監聽消費處理了,即我們有一種消息確認機制來保證我們的消息是否已經真正的被消費處理。在 RabbitMQ 中,消息確認處理機制有三種:Auto - 自動、M

原创 spring — bean的生命週期(一)

1.生命週期流程圖: Spring Bean的完整生命週期從創建Spring容器開始,直到最終Spring容器銷燬Bean,這其中包含了一系列關鍵點: 2.Bean 的生命週期 如上圖所示,Bean 的生命週期還是比較複雜的,

原创 elasticsearch — 內部分片原理(十)

問題: 爲什麼ES 搜索是 近 實時的? 爲什麼文檔的 CRUD (創建-讀取-更新-刪除) 操作是 實時 的? Elasticsearch是怎樣保證更新被持久化在斷電時也不丟失數據? 爲什麼刪除文檔不會立刻釋放空間? refr

原创 elasticsearch—索引與檢索(二)

1.查詢表達式搜索 Query-string 搜索通過命令非常方便地進行臨時性的即席搜索 ,但它有自身的侷限性。Elasticsearch 提供一個豐富靈活的查詢語言叫做 查詢表達式 , 它支持構建更加複雜和健壯的查詢。 領域特定

原创 elasticsearch—搜索(八)

1.搜索——最基本的工具 Elasticsearch 不只會_存儲(stores)_ 文檔,爲了能被搜索到也會爲文檔添加_索引(indexes)_ ,這也是爲什麼我們使用結構化的 JSON 文檔,而不是無結構的二進制數據。 文檔中

原创 elasticsearch —索引原理(九)

1.操作索引 創建了一個新的索引 ,這個索引採用的是默認的配置,新的字段通過動態映射的方式被添加到類型映射。現在對這個建立索引的過程做更多的控制:我們想要確保這個索引有數量適中的主分片,並且在我們索引任何數據 之前 ,分析器和映射

原创 VUE store狀態管理核心解析

狀態管理 一、狀態管理(vuex)簡介 vuex是專爲vue.js應用程序開發的狀態管理模式。它採用集中存儲管理應用的所有組件的狀態,並以相應的規則保證狀態以一種可預測的方式發生變化。vuex也集成刀vue的官方調試工具devto

原创 elasticsearch—集羣初識篇(四)

1.集羣健康: Elasticsearch 的集羣監控信息中包含了許多的統計數據,其中最爲重要的一項就是 集羣健康 , 它在 status 字段中展示爲 green 、 yellow 或者 red 。 GET /_cluster/

原创 elasticsearch—檢索與聚合(三)

1.聚合 聚合 aggregations 有助於基於搜索查詢提供聚合數據。它基於稱爲聚合的簡單構建塊,可以進行組合以構建複雜的數據摘要。 聚合 aggregations 可以看作是在一組文檔上建立分析信息的工作單元。執行的上下文定

原创 elasticsearch—索引與檢索(一)

1. 索引介紹 You know, for search (and analysis) 一個 Elasticsearch 集羣可以 包含多個 索引(index),相應的每個索引可以包含多個 類型(type) 。 這些不同的類型存儲

原创 elasticsearch —執行分佈式檢索(九)

說明: 一個 CRUD 操作只對單個文檔進行處理,文檔的唯一性由 _index, _type, 和 routing values (通常默認是該文檔的 _id )的組合來確定。 這表示我們確切的知道集羣中哪個分片含有此文檔。 搜索