SpringBoot整合Redis開發(fā)RESTful API接口

開發(fā)環(huán)境

??SpringBoot版本:2.0.5.RELEASE嘹裂、jdk版本:1.8+呻引、Maven版本:3.5.4

項目框架

   ├── pom.xml
   ├── springbootreidsrestfulapi.iml
   ├── src
   │   ├── main
   │   │   ├── java
   │   │   │   └── com
   │   │   │       └── jenkin
   │   │   │           └── springboot
   │   │   │               ├── App.java
   │   │   │               ├── controller
   │   │   │               │   └── UserController.java
   │   │   │               ├── pojo
   │   │   │               │   ├── RedisConfigBean.java
   │   │   │               │   └── User.java
   │   │   │               ├── redis
   │   │   │               │   └── RedisConfig.java
   │   │   │               └── service
   │   │   │                   ├── UserService.java
   │   │   │                   └── impl
   │   │   │                       └── UserServiceImpl.java
   │   │   └── resources
   │   │       └── application.properties

配置文件

SpringBoot里的application.properties文件中配置Redis信息

# REDIS (RedisProperties)
# Database index used by the connection factory.
spring.redis.database=0

# Redis server host.
spring.redis.host=localhost

# Login password of the redis server.
spring.redis.password=

# Redis server port.
spring.redis.port=6379

# Maximum number of connections that can be allocated by the pool at a given time. Use a negative value for no limit.
spring.redis.lettuce.pool.max-active=8

# Maximum number of "idle" connections in the pool. Use a negative value to indicate an unlimited number of idle connections.
spring.redis.lettuce.pool.max-idle=8

# Maximum amount of time a connection allocation should block before throwing an exception when the pool is exhausted. Use a negative value to block indefinitely.
spring.redis.lettuce.pool.max-wait=-1ms

# Target for the minimum number of idle connections to maintain in the pool. This setting only has an effect if it is positive.
spring.redis.lettuce.pool.min-idle=0

# Shutdown timeout.
spring.redis.lettuce.shutdown-timeout=100ms

Redis有兩種連接方式:一個是Jedis冰更,另一個是Lettuce扶叉。它倆間的區(qū)別:使用Jedis湿酸,如果多線程使用同一個連接伍派,線程時不安全的,需要使用連接池屈张,為每一個Jedis實例分配一個連接擒权;而使用Lettuce袱巨,當多線程連接同一個連接實例時,是線程安全的碳抄。
SpringBoot2.0以后愉老,默認的連接方式是Lettuce,我這里使用的也是Lettuce剖效,首先添加Redis包:

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

如果使用的是Jedis連接嫉入,需要修改一下配置:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
    <exclusions>
        <exclusion>
            <groupId>io.lettuce</groupId>
            <artifactId>lettuce-core</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
</dependency>

建立連接

    /**
     * 使用Lettuce連接Redis
     * @return
     */
    @Bean
    public LettuceConnectionFactory connectionFactory() {
        LettuceConnectionFactory lettuceConnectionFactory = new LettuceConnectionFactory();
        lettuceConnectionFactory.setDatabase(redisConfigBean.getDatabase());
        lettuceConnectionFactory.setHostName(redisConfigBean.getHost());
        lettuceConnectionFactory.setPassword(redisConfigBean.getPassword());
        lettuceConnectionFactory.setPort(redisConfigBean.getPort());

        return lettuceConnectionFactory;
    }

效果演示

  • POST請求:設置ContentType=application/json,添加RequestBody中的內容璧尸,格式為Json格式
    POST請求
  • GET請求
    GET請求
  • PUT請求:設置ContentType=application/json咒林,修改RequestBody中的內容,格式為Json格式
    PUT請求
    GET請求
  • DELETE請求
    DELETE請求
    GET請求

代碼地址

??https://github.com/JenkinWang/springboot-reids-restful-api

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末爷光,一起剝皮案震驚了整個濱河市垫竞,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蛀序,老刑警劉巖欢瞪,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異徐裸,居然都是意外死亡遣鼓,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進店門倦逐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來譬正,“玉大人,你說我怎么就攤上這事檬姥≡遥” “怎么了?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵健民,是天一觀的道長抒巢。 經常有香客問我,道長秉犹,這世上最難降的妖魔是什么蛉谜? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮崇堵,結果婚禮上型诚,老公的妹妹穿的比我還像新娘。我一直安慰自己鸳劳,他們只是感情好狰贯,可當我...
    茶點故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般涵紊。 火紅的嫁衣襯著肌膚如雪傍妒。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天摸柄,我揣著相機與錄音颤练,去河邊找鬼。 笑死驱负,一個胖子當著我的面吹牛嗦玖,可吹牛的內容都是我干的。 我是一名探鬼主播跃脊,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼踏揣,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了匾乓?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤又谋,失蹤者是張志新(化名)和其女友劉穎拼缝,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體彰亥,經...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡咧七,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了任斋。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片继阻。...
    茶點故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖废酷,靈堂內的尸體忽然破棺而出瘟檩,到底是詐尸還是另有隱情,我是刑警寧澤澈蟆,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布墨辛,位于F島的核電站,受9級特大地震影響趴俘,放射性物質發(fā)生泄漏睹簇。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一寥闪、第九天 我趴在偏房一處隱蔽的房頂上張望太惠。 院中可真熱鬧,春花似錦疲憋、人聲如沸凿渊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽嗽元。三九已至敛纲,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間剂癌,已是汗流浹背淤翔。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留佩谷,地道東北人旁壮。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓,卻偏偏與公主長得像谐檀,于是被迫代替她去往敵國和親抡谐。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,979評論 2 355

推薦閱讀更多精彩內容