原创 Redis概念、數據結構、特點及使用場景

目錄   1、概念 2、數據結構 3、特點優勢 1.可持久化 2. 支持數據類型多 3. 性能極高 4.原子性 5.數據備份 6.特性豐富 4、使用場景 1.分佈式鎖 2.會話緩存 3.排行榜/計數器 4.發佈/訂閱 1、概念 Redis

原创 Jedis操作API

Redis越來越常用,是不是還不瞭解一些常用方法,是不是在處理業務需求時,想不到一些簡便方法,趕緊來看看文章吧。廢話不多說,上代碼!方法沒寫那麼全,後續慢慢完善。 package com.redistest; import java.

原创 AOP無法切入同類調用方法(@Cacheable同類內調用,不走緩存)

最近跟蹤後臺日誌發現,同類調用的查詢方法,沒有查詢緩存還是查詢的數據庫。網上查了查資料,需要做一些配置。 究其原因,是沒有通過代理來調用方法,我們改成通過代理來調用方法,就可以走緩存了。 1.修改spring配置文件 <aop:aspec

原创 java獲取當前服務(tomcat)的IP和端口

 最近遇到個需求,需要在代碼中獲取當前服務的內網ip和端口,廢話不多說,直接上代碼(都是Linux服務器,windows的沒試過,可能會有所區別) //獲取內網ip public static String getLocalIp() {

原创 java double類型轉換成int類型

public static void main(String[] args) { double db = 15.87; int in = new Double(db).intValue();

原创 SQL優化之九不要

目錄   1、前置模糊查詢不能使用索引 2、數據區分度不大的字段不宜使用索引 3、在屬性上進行計算不能命中索引 4、如果業務大部分是單條查詢,使用Hash索引性能更好 5、複合索引最左前綴,並不是指SQL語句的where條件順序要和複合索

原创 Redis分佈式鎖(Redisson)實現原理分析

目錄   1、Redisson介紹 2、Redisson鎖使用示例 3、Redisson鎖實現原理 1.加鎖 2.鎖互斥機制 3.watch dog自動延期機制 4.可重入加鎖機制 5.釋放鎖機制 1、Redisson介紹 Redisso

原创 mysql更新不同庫相同表字段

公司業務需要,需要把開發庫的視頻數據導入正式庫,找了找文章,把sql記錄下來 UPDATE 要更新庫名.表名, 源數據庫名.表名 SET 要更新庫名.表名.字段 = 源數據庫名.表名.字段 WHERE 要更新庫名.表名.關聯

原创 MISCONF Redis is configured to save RDB snapshots, but it is currently not a

開發環境最近遇到了"MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk"的問題,服務出現了問題,一

原创 ssh exchange identification Connection closed by remote

最近用Jenkins構建項目,執行腳本時,出現錯誤提示 ssh exchange identification Connection closed by remote(執行的腳本是從Jenkins服務器,到另一臺服務器執行啓動命令),搜了

原创 mysql更新相同庫不同表字段

update table1,table2 set table1.field1 = table2.field1 where table1.id = table2.id  

原创 啓動Tomcat失敗 The file is absent or does not have execute permission

1、Linux上部署好tomcat後,執行啓動命令時報錯 Cannot find bin/catalina.sh  The file is absent or does not have execute permission  This

原创 Tomcat Bug造成Socket CLOSE_WAIT數量過多,Tomcat假死

公司做語音聊天app,爲了實現聊天室內的部分功能,使用了socket。但是最近線上頻發CLOSE_WAIT,導致tomcat 假死。 排查了socket業務的相關代碼,嘗試了一些解決方法,始終沒有解決掉。看到了下面的文章,說是Tomcat

原创 Java以指定分隔符(逗號)拼接list

1.添加maven依賴 <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 --> <dependency>     <groupId>org.

原创 gitlab發送郵件配置

1.修改gitlab的配置文件:vim /etc/gitlab/gitlab.rb,找到如下圖所示的部分,放開註釋,修改配置,此處我用的發件郵箱是QQ郵箱,所以域名配置都是qq.com,如果用的是163或者gmail郵箱等等,更改對應配置