原创 ES集羣(elasticsearch)

爲什麼要用ES集羣? Elasticsearch(ES)是一個基於Lucene構建的開源、分佈式、RESTful接口的全文搜索引擎。Elasticsearch還是一個分佈式文檔數據庫,其中每個字段均可被索引,而且每個字段的數據均可被搜索,

原创 Explain執行計劃中各個字段的含義

Explain有什麼用 當Explain 與 SQL語句一起使用時,MySQL 會顯示來自優化器關於SQL執行的信息。也就是說,MySQL解釋了它將如何處理該語句,包括如何連接表以及什麼順序連接表等。 表的加載順序 sql 的查詢類

原创 對Spring事務傳播行爲的理解

前言 大家好,我是敖丙!最近在重新整理 Spring 事務相關的內容,在看 Spring 事務傳播行爲這塊內容的時候,發現了這篇優秀的文章,分享一下。 Spring 在 TransactionDefinition 接口中規定了 7 種類型

原创 點贊功能,用 MySQL 還是 Redis 好

點贊功能是目前app開發基本的功能 今天我們就來聊聊 點贊、評論、收藏等這些場景的db數據庫設計問題, 1. 我們先來看看場景的需求: 顯示點贊數量 判斷用戶是否點過贊,用於去重,必須的判斷 顯示個人點贊列表,一般在用戶中心

原创 Thread釋放鎖和CPU

多線程中的wait與sleep到底誰釋放了鎖 首先,多線程中會使用到兩個延遲的函數,wait和sleep。 wait是Object類中的方法,而sleep是Thread類中的方法。 sleep是Thread類中的靜態方法。無論是在a線程中

原创 Rocketmq集羣consumer消費(同組及不同組)

一 機器部署 1、機器組成 7臺機器,均爲16G內存 每臺服務器均有4個CPU,2核   2、運行環境配置 3、刷盤方式 每臺機器master機器均採用異步刷盤方式         二 、同組consumer均衡消費queue 1

原创 ES在數據量很大的情況下如何提高查詢效率?生產環境如何部署es

一、性能優化的殺手鐗——filesystem cache 你往es裏寫的數據,實際上都寫到磁盤文件裏去了,查詢的時候,操作系統會將磁盤文件裏的數據自動緩存到 filesystem cache 裏面去。   es-search-proce

原创 訂單緩存查詢實踐

訂單緩存實踐   最近在做訂單緩存查詢相關需求,記錄下該過程中緩存查詢考慮的幾個問題以及處理方案。 緩存穿透   實際場景中使用緩存都是先去緩存中查詢,如果緩存沒有命中,在去查詢數據庫並將結果緩存。如果查詢一個在系統中根本就不存在的數據,

原创 HashMap 爲什麼線程不安全

前言:我們都知道HashMap是線程不安全的,在多線程環境中不建議使用,但是其線程不安全主要體現在什麼地方呢,本文將對該問題進行解密。 1.jdk1.7中的HashMap 在jdk1.8中對HashMap做了很多優化,這裏先分析在jdk1

原创 ElasticSsearch面試題

1.爲什麼要使用Elasticsearch? ​   因爲在我們商城中的數據,將來會非常多,所以採用以往的模糊查詢,模糊查詢前置配置,會放棄索引,導致商品查詢是全表掃面,在百萬級別的數據庫中,效率非常低下,而我們使用ES做一個全文索引,我

原创 redis設置過期時間和過期策略

在爲key設置過期時間需要注意的事項 1、 DEL/SET/GETSET等命令會清除過期時間 在使用DEL、SET、GETSET等會覆蓋key對應value的命令操作一個設置了過期時間的key的時候,會導致對應的key的過期時間被清除。

原创 延時隊列的實現方案

一、延時隊列的應用 什麼是延時隊列?顧名思義:首先它要具有隊列的特性,再給它附加一個延遲消費隊列消息的功能,也就是說可以指定隊列中的消息在哪個時間點被消費。 延時隊列在項目中的應用還是比較多的,尤其像電商類平臺: 1、訂單成功後,在30分

原创 集羣高可用、哨兵、持久化

小夥子你好,之前問過了你基礎知識以及一些緩存的常見幾個大問題了,那你能跟我聊聊爲啥Redis那麼快麼? 哦,帥氣迷人的面試官您好,我們可以先看一下關係型數據庫跟Redis本質上的區別。   Redis採用的是基於內存的採用的是單進程單線程

原创 說一下Zookeeper的ZAB協議

Zab(Zookeeper Atomic Broadcast)是爲ZooKeeper協設計的崩潰恢復原子廣播協議,它保證zookeeper集羣數據的一致性和命令的全局有序性。 概念介紹 在介紹zab協議之前首先要知道zookeeper相關

原创 redis常用結構和奇淫技巧

Redis可以做什麼 記錄帖子的點贊數、評論數和點擊數 (hash)。 記錄用戶的帖子 ID 列表 (排序),便於快速顯示用戶的帖子列表 (zset)。 記錄帖子的標題、摘要、作者和封面信息,用於列表頁展示 (hash)。