原创 redis探析

Redis (REmote DIctionary Server) 是一個由Salvatore Sanfilippo寫的key-value存儲系統。  Redis過期鍵刪除策略 redisDb 結果的 expires 字典保存了數據庫中所有

原创 mysql的全局鎖

        顧名思義,全局鎖就是對整個數據庫實例加鎖。MySQL 提供了一個加全局讀鎖的方法, 命令是 Flush tables with read lock (FTWRL)。當你需要讓整個庫處於只讀狀態的時候, 可以使用這個命令,之

原创 數據庫的查詢緩存

MySQL 拿到一個查詢請求後,會先到查詢緩存看看,之前是不是執行過這條語句。之前執行過的語句及其結果可能會以 key-value 對的形式,被直接緩存在內存中。key 是查詢 的語句,value 是查詢的結果。如果你的查詢能夠直接在這個

原创 關於write()和fsync()

write ssize_t write(int fd, const void *buf, size_t count); 將數據寫到文件中. 注意, 如果文件是保存在硬盤中, write() 函數調用返回之後, 並不表示數據已經寫入到硬盤中

原创 慢查詢記錄

慢查詢 分析MySQL語句查詢性能的方法除了使用 EXPLAIN 輸出執行計劃,還可以讓MySQL記錄下查詢超過指定時間的語句,我們將超過指定時間的SQL語句查詢稱爲“慢查詢”。注意:超過指定時間,這個時間是可以設置的,如果設置爲0秒,那

原创 Spring 如何解決循環依賴?

在Spring實際的開發過程中,可能會出現一種情況:BeanA 依賴BeanB ,BeanB依賴BeanA,代碼如下: @Component public class A { private B b; public void s

原创 幻讀是什麼?

爲了便於進行解釋幻讀,新建一張表進行詳細闡述: CREATE TABLE `t` ( `id` int(11) NOT NULL, `c` int(11) DEFAULT NULL, `d` int(11) DEFAULT NUL

原创 如何解決幻讀?

現在你知道了,產生幻讀的原因是,行鎖只能鎖住行,但是新插入記錄這個動作,要更新的是記錄之間的“間隙”。因此,爲了解決幻讀問題,InnoDB 只好引入新的鎖,也就是間隙鎖 (Gap Lock)。   顧名思義,間隙鎖,鎖的就是兩個值之間

原创 DNS多級緩存系統

DNS基礎 DNS,是英文Domain Name System的簡稱,中文稱之爲“域名系統”。互聯網主機之間通信是通過IP地址來互相訪問,IP地址是十進制數,比如10.11.10.235,但這樣的數字串對人類來說很難理解和記憶。於是,人們

原创 maven project和maven pom

Type 選擇的時候 maven project 和maven pom 有什麼區別? 選擇project的話,它會幫你生成整個完整的工程結構; 選擇pom的話,它只會在工程目錄下生成pom.xml,而沒有src等等結構

原创 服務發現追求CP還是AP?

服務發現 生產環境中服務提供者對外提供服務,集羣裏面得ip隨時再發生改變,那麼就需要一個“通訊錄”隨時去獲取服務節點,那麼這個就是服務發現 爲什麼需要服務發現 對於服務提供者來說,契約就是接口,也就是相當於通訊錄中得名字,服務節點就是提供

原创 因爲需要啓動時load數據到內存,重啓數據庫很慢

我在做貼吧系統的時候,每次訪問頁面都要請求一次權限。所以,這個請求權限的請求, 訪問概率會非常高,不可能每次都去數據庫裏查,怎麼辦呢? 我想了個簡單的方案:在應用程序裏面開了個很大的內存,啓動的時候就把整張表全部 load 到內存裏去。

原创 爲什麼JSON佔用額外開銷大

這個就相對於二進制文件佔用內存少來說的。 文本文件:是基於字符編碼的文件,常見的編碼有ASCII編碼,UNICOD。 ASCII:是基於拉丁字母的一套電腦編碼系統,主要用於顯示現代英語和其他西歐語言。它是最通用的信息交換標準,並等同於國

原创 Spring的註解使用

直接上代碼,代碼中有註釋 AspectJ.java package com.wemew.wmgame.spring_mybatis.config; import org.aspectj.lang.annotation.Aspect;

原创 binlog_format=row不生效

binlog 有兩種格式,一種是 statement,一種是row。可能你在其他資料上還會看到有第三種格式,叫作 mixed,其實它就是前兩種格式的混合。   查看當前的格式: show VARIABLES like '%binlog