1. 程式人生 > >springboot使用Redis完整過程詳解及常見問題總結

springboot使用Redis完整過程詳解及常見問題總結

一.背景:專案中需要使用到Redis做快取 (ide:IDEA  redis伺服器:騰訊centos7)

二.步驟:

1.伺服器上安裝redis

a.執行指令:$ wget http://download.redis.io/releases/redis-4.0.5.tar.gz

b.解壓:$ tar -xzvf redis-4.0.5.tar.gz(此處注意一定不要解壓到根目錄,可以解壓到自己建立的資料夾下面如:/urs/software/redis,否則會執行有錯接下來)

c.進入解壓後的資料夾: $ cd redis-4.0.5

d.編譯:$ make(編譯之後即可通過/redis-4.0.5/src/redis-server 啟動redis)

           tip:執行make的時候可能會編譯報錯,注意觀察錯誤資訊的話你會發現gcc command not found,意味著你需要在機器上安裝gcc編譯器啦。最簡單的就是通過yum安裝啦!

e.執行指令啟動redis:$ redis安裝目錄/src/redis-server

f.執行命令啟動redis客戶端:$ redis安裝目錄/src/redis-cli

redis>set foo bar

OK

redis>get foo

"bar"

至此,你已成功安裝redis到伺服器,但是還需要一些配置才能更好的使用redis。

2.redis配置(主要就是通過修改安裝目錄redis-4.0.5下的redis.conf檔案中的引數實現redis配置)

a.修改daemonize配置項為yes,使得redis程序在後臺執行

b.將配置檔案中的bind 127.0.0.1配置項註釋,使得可以通過外部網路連線redis使用(騰訊雲主機後臺配置安全組,允許6379埠,linux防火牆也要開啟響應埠)

c.修改protected-mode no,設定其保護模式,否則不能正常連線

d.通過啟動redis 執行>config set requirepass "123456"   >auth 123456 (只能設定一次,redis重啟後還得重新設定密碼)(此處設定的密碼即為springboot配置redis中的要填的那個密碼)

e.$ echo

"/usr/local/bin/redis-server /etc/redis.conf" >>/etc/rc.local (為了能讓Redis在伺服器重啟之後自動啟動,需要將啟動命令寫入開機啟動項)

(tip:redis.conf引數選項

daemonize:是否以後臺daemon方式執行pidfile:pid檔案位置

port:監聽的埠號

timeout:請求超時時間

loglevel:log資訊級別

logfile:log檔案位置

databases:開啟資料庫的數量

save * *:儲存快照的頻率,第一個*表示多長時間,第三個*表示執行多少次寫操作。在一定時間內執行一定數量的寫操作時,自動儲存快照。可設定多個條件。

rdbcompression:是否使用壓縮

dbfilename:資料快照檔名(只是檔名)

dir:資料快照的儲存目錄(僅目錄)

appendonly:是否開啟

appendonlylog,開啟的話每次寫操作會記一條log,這會提高資料抗風險能力,但影響效率。

appendfsync:appendonlylog如何同步到磁碟。三個選項,分別是每次寫都強制呼叫fsync、每秒啟用一次fsync、不呼叫fsync等待系統自己同步

3.springboot配置redis

a.pom.xml引入依賴:

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>

b.approtites.xml配置檔案

c.redis工具類

@Component
public class RedisComponent {
    //操作字串的template,StringRedisTemplate是RedisTemplate的一個子集
    @Autowired
    private StringRedisTemplate stringRedisTemplate;
    private Logger logger= LoggerFactory.getLogger(RedisComponent.class);
    //RedisTemplate可以進行所有的操作
    @Autowired
    private RedisTemplate<Object,Object> redisTemplate;
    public void set(String key,String value){
        ValueOperations<String,String> ops=this.stringRedisTemplate.opsForValue();
        boolean bExistent=this.stringRedisTemplate.hasKey(key);
        if(bExistent){
            logger.info("this key is bExistent!");
        }else{
            ops.set(key,value);
        }
    }
    public String get(String key){
        return this.stringRedisTemplate.opsForValue().get(key);
    }
    public void del(String key){
        this.stringRedisTemplate.delete(key);
    }

    public void sentinelSet(String key,Object object){
        redisTemplate.opsForValue().set(key,object);
    }
    public String sentinelGet(String key){
        return String.valueOf(redisTemplate.opsForValue().get(key));
    }

}

d.測試類

相關推薦

springboot使用Redis完整過程常見問題總結

一.背景:專案中需要使用到Redis做快取 (ide:IDEA  redis伺服器:騰訊centos7) 二.步驟: 1.伺服器上安裝redis a.執行指令:$ wget http://download.redis.io/releases/redis-4.0.5.ta

DHCP完整過程Wireshark抓包分析

DHCP,Dynamic Host Configuration Protocol,動態主機配置協議,簡單來說就是主機獲取IP地址的過程,屬於應用層協議。 DHCP採用UDP的68(客戶端)和67(伺服器)埠進行通訊。 【過程】 DHCP過程主要為DHCP Discover-->DHCP Offer--&

SpringMVC接受JSON參數常見錯誤總結我改

pen 接口 var token 練手 一個 lips users 是不是 SpringMVC接受JSON參數詳解及常見錯誤總結 最近一段時間不想使用Session了,想感受一下Token這樣比較安全,穩健的方式,順便寫一個統一的接口給瀏覽器還有APP。所以把一個練手項目

SpringMVC接受JSON引數常見錯誤總結(@RequestBody轉載)

最近一段時間不想使用Session了,想感受一下Token這樣比較安全,穩健的方式,順便寫一個統一的介面給瀏覽器還有APP。所以把一個練手專案的前臺全部改成Ajax了,跳轉再使用SpringMVC控制轉發。對於傳輸JSON資料這邊有了更深的一些理解,分享出來,請

Android總結篇——Intent機制示例總結

ets mp3 pro domain 一般來說 ssa star wrap 無線 一.Intent介紹: Intent的中文意思是“意圖,意向”,在Android中提供了Intent機制來協助應用間的交互與通訊,Intent負責對應用中一次操作的動 作、動作涉及

大資料技術學習筆記之Hadoop框架基礎4-MapReduceshuffer過程zookeeper框架學習

一、MapReduce Shuffle     -》MapReduce執行五個階段         input           

MapReduce之WordCount程式常見錯誤彙總

前言:     在之前的筆記中,我們已經成功的關聯了eclipse和hadoop,對FileSystem的使用進行了簡單瞭解。     下面就是Hadoop中的重點MapReduce程式的開發。作為MapReduce(以下使用MR來代替)開發中的入門程式WordCount

AOP之AspectJ 技術原理實戰總結

一、AOPAOP是OOP的延續,是軟體開發中的一個熱點,也是Spring框架中的一個重要內容,是函數語言程式設計的一種衍生範型。利用AOP可以對業務邏輯的各個部分進行隔離,從而使得業務邏輯 各部分之間的耦合度降低,提高程式的可重用性,同時提高了開發的效率。1.1 主要功能日誌

boost::bind 常見問題

// 7.1 MSVC 6.0編譯器 在函式簽名中不支援const:(移除const就可以了) int f(int const); int main() {     boost::bind(f, 1);     // error } // 7.2 MSVC 7.0以下編譯器 (1) 如果通過using宣告引

MfC開啟過程應用

本文主要介紹:在MFC中,選單開啟命令的響應過程。 一、MFC開啟命令的響應過程: File->Open 對應的ID為ID_FILE_OPEN,其響應過程如下: 注:如果自己已將ID_FLIE_OPEN在MFC中過載了,則會直接響應過載函式,不會按以下過程響應。 1.

Shuffle過程優化

1.MapReduce Shuffle Map是對映,負責資料的過濾分 發;Reduce是規約,負責資料的計算歸併。Reduce的資料來源於Map,Map的輸出即是Reduce的輸入,Reduce需要通過 Shuffle來獲取資料。 從Map輸出到Reduce輸入的整

Postfixadmin 圖文配置常見錯誤排除

一、 安裝環境檢測 開啟http://郵件伺服器IP/postfixadmin/setup.php 如有報錯,請檢查以下專案: 配置檔案是否修改正確 posfixadmin目錄許可權

WebView使用常見問題

閱讀了一篇部落格,寫的很詳細,分享一下: 最近遇到的問題: onPageFinished()方法也會回撥3次! 第一次輸入http://www.baidu.com時,然後點選後退,竟然可

轉:PPPoE協議交互過程抓包分析

驗證過 con 種類 管理 pen 定向 進入 一次 測試數據 ttps://blog.csdn.net/sky619351517/article/details/84797605 PPPoE協議交互過程 1、發現階段(PPPoED:PPPoE Discovery

linux--系統啟動安裝過程

linux啟動先通過一張圖來簡單了解下整個系統啟動的流程,整個過程基本可以分為POST-->BIOS-->MBR(GRUB)-->Kernel-->Init-->Runlevel本文出自 “運維自動化” 博客,請務必保留此出處http://shower.blog.51cto.co

Java虛擬機——JVM常見問題總結

can 語言 嘗試 意思 是把 fff rom com serial 【正文】 聲明:本文只是做一個總結,有關jvm的詳細知識可以參考之前的系列文章,尤其是那篇:Java虛擬機詳解04—-GC算法和種類。那篇文章和本文是面試時的重點。 面試必問關鍵詞:JVM垃圾回收、類加載

TCP三次握手釋放連接過程

alt 信息 情況 序列號 丟失 浪費 需要 nbsp image TCP在傳輸之前會進行三次溝通,一般稱為“三次握手”,傳完數據斷開的時候要進行四次溝通,一般稱為“四次揮手”。 兩個序號和三個標誌位: (1)序號:seq 序號,占 32 位,用來標識從 TCP

CentOS 7下Cloudera ManagerCDH 6.0.1安裝過程

一、概念介紹 1、CDH 概覽 CDH是Apache Hadoop和相關專案的最完整、最受測試和最流行的發行版。CDH提供Hadoop的核心元素-可伸縮儲存和分散式計算-以及基於web的使用者介面和重要的企業功能。CDH是Apache許可的開放原始碼,是唯一提供統一批處理、互動式SQL和互動式搜尋以及基於

《19.根檔案系統構建實驗過程

《19.根檔案系統構建實驗及過程詳解》 第一部分、章節目錄 2.19.1.根檔案系統的構建路線 2.19.2.busybox的移植實戰 2.19.3.inittab詳解 2.19.4.busybox原始碼分析1 2.19.5.busybox原始碼分析2 2.19.6.rcS檔案介紹1 2

redis 叢集搭建過程

1. 引言 從 3.0 版本開始,redis 具備了叢集功能,實現了分散式、容錯、去中心化等特性,在生產環境中對於保證資料一致性和安全性、提高系統響應能力都有著很必要的意義。 本文我們就來介紹 redis 叢集的三種搭建模式和搭建方法。