2018年9月3——spring boot引入redis

前端的工作挥唠,暫告一段落,這里開始spring boot引入redis之旅

  • 前提:
    要安裝好redis,并且可以順利訪問
    用IDE創(chuàng)建好一個spring boot項目

  • 首先在pom文件中引入

        <!-- 整合redis -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
  • 然后再yml文件中配置redis
spring:
    redis:
        database: 0
        host: 192.168.1.170
        port: 6379
        password: ******
        pool:
            max-idle: 8
            min-idle: 0
            max-active: 8
            max-wait: 1
        timeout: 3000
  • 添加一個簡單的redis工具類,想要更多的方法佛猛,網(wǎng)上找找,有很多坠狡。
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Component;

/**
 * 功能描述:redis工具類
 * 對于redisTpl.opsForValue().set(key, value)進行了一次封裝,不然每次都要這樣保存值
 * 而封裝后只需:new RedisClient().set(key,value);
 */
@Component
public class Redis {

    @Autowired
    private StringRedisTemplate redisTpl; //jdbcTemplate    

     // 功能描述:設(shè)置key-value到redis中    
    public boolean set(String key ,String value){
        try{
            redisTpl.opsForValue().set(key, value);
            return true;
        }catch(Exception e){
            e.printStackTrace();
            return false;
        }    
    }        

     // 功能描述:通過key獲取緩存里面的值
    public String get(String key){
        return redisTpl.opsForValue().get(key);
    }        
}
  • 寫一個測試遂跟,測試redis是否連接成功
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.util.DigestUtils;

@SpringBootTest
@RunWith(SpringJUnit4ClassRunner.class)
public class RedisTest {

    @Autowired
    private StringRedisTemplate stringRedisTemplate;

    @Test
    public void save(){
        stringRedisTemplate.opsForValue().set("xudod","supperxudod");
        Assert.assertEquals("supperxudod",stringRedisTemplate.opsForValue().get("xudod"));
    }
}
  • 運行該測試類逃沿,測試通過后可以用redis可視化工具RedisDesktopManager查看剛才添加的鍵值
    至此,redis成功引入spring boot幻锁,這篇文章就先寫到這里凯亮。下邊留下一個引子,記錄哄尔,redis在項目中的具體使用

spring boot項目中使用redis--2018年9月5日添加

  • 說明假消,前端向后端發(fā)送登錄請求時,會通過lua連接redis做用戶校驗岭接,那么這里設(shè)定富拗,用戶保存和更新時,會同步保存和更新用戶信息到redis鸣戴。這是使用spring boot使用redis的第一個場景
/**
這段代碼是用戶管理實現(xiàn)類中的一個添加用戶的方法
**/
@Override
public BaseResp<Integer> add(UserBase userBase) {
    BaseResp<Integer> baseResp = new BaseResp<>();
    try {
        userBase.setId(UUIDTool.getUUID());
        //將用戶信息保存如數(shù)據(jù)庫
        int insertSelective = userBaseMapper.insertSelective(userBase);
        //將用戶信息寫入redis
        boolean redisResult = redis.set(userBase.getAccount(), userBase.getPassword());
        if(insertSelective > 0 && redisResult == true) {
            baseResp.setCode(BaseResp.SUCCESS);
            baseResp.setData(insertSelective);
        }else{
            baseResp.setCode(BaseResp.ERROR);
            baseResp.setData(null);
            baseResp.setMessage("無異常啃沪,添加數(shù)據(jù)失敗≌或者用redis緩存數(shù)據(jù)失敶辞А!");
        }
    } catch (Exception e) {
        baseResp.setCode(BaseResp.ERROR);
        baseResp.setData(null);
        baseResp.setMessage("異常入偷,添加數(shù)據(jù)失斪仿俊:" + e.getMessage());
    }
    return baseResp;
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市疏之,隨后出現(xiàn)的幾起案子殿雪,更是在濱河造成了極大的恐慌,老刑警劉巖体捏,帶你破解...
    沈念sama閱讀 221,820評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件冠摄,死亡現(xiàn)場離奇詭異糯崎,居然都是意外死亡,警方通過查閱死者的電腦和手機河泳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評論 3 399
  • 文/潘曉璐 我一進店門沃呢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人拆挥,你說我怎么就攤上這事薄霜。” “怎么了纸兔?”我有些...
    開封第一講書人閱讀 168,324評論 0 360
  • 文/不壞的土叔 我叫張陵惰瓜,是天一觀的道長。 經(jīng)常有香客問我汉矿,道長崎坊,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,714評論 1 297
  • 正文 為了忘掉前任洲拇,我火速辦了婚禮奈揍,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘赋续。我一直安慰自己男翰,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,724評論 6 397
  • 文/花漫 我一把揭開白布纽乱。 她就那樣靜靜地躺著蛾绎,像睡著了一般。 火紅的嫁衣襯著肌膚如雪鸦列。 梳的紋絲不亂的頭發(fā)上租冠,一...
    開封第一講書人閱讀 52,328評論 1 310
  • 那天,我揣著相機與錄音敛熬,去河邊找鬼肺稀。 笑死,一個胖子當(dāng)著我的面吹牛应民,可吹牛的內(nèi)容都是我干的话原。 我是一名探鬼主播,決...
    沈念sama閱讀 40,897評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼诲锹,長吁一口氣:“原來是場噩夢啊……” “哼繁仁!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起归园,我...
    開封第一講書人閱讀 39,804評論 0 276
  • 序言:老撾萬榮一對情侶失蹤黄虱,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后庸诱,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體捻浦,經(jīng)...
    沈念sama閱讀 46,345評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡晤揣,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,431評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了朱灿。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片昧识。...
    茶點故事閱讀 40,561評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖盗扒,靈堂內(nèi)的尸體忽然破棺而出跪楞,到底是詐尸還是另有隱情,我是刑警寧澤侣灶,帶...
    沈念sama閱讀 36,238評論 5 350
  • 正文 年R本政府宣布甸祭,位于F島的核電站,受9級特大地震影響褥影,放射性物質(zhì)發(fā)生泄漏池户。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,928評論 3 334
  • 文/蒙蒙 一凡怎、第九天 我趴在偏房一處隱蔽的房頂上張望煞檩。 院中可真熱鬧,春花似錦栅贴、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至注暗,卻和暖如春坛缕,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背捆昏。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評論 1 272
  • 我被黑心中介騙來泰國打工赚楚, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人骗卜。 一個月前我還...
    沈念sama閱讀 48,983評論 3 376
  • 正文 我出身青樓宠页,卻偏偏與公主長得像,于是被迫代替她去往敵國和親寇仓。 傳聞我的和親對象是個殘疾皇子举户,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,573評論 2 359

推薦閱讀更多精彩內(nèi)容