国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - SpringBoot 整合Redis 數據庫的方法

SpringBoot 整合Redis 數據庫的方法

2021-04-16 11:51xiangzhihong8 Java教程

Redis是一個基于內存的日志型可持久化的緩存數據庫,保存形式為key-value格式,Redis完全免費開源,它使用ANSI C語言編寫。這篇文章主要介紹了SpringBoot 整合Redis 數據庫的方法,需要的朋友可以參考下

redis簡介

redis(官網: https://redis.io )是一個基于內存的日志型可持久化的緩存數據庫,保存形式為key-value格式,redis完全免費開源,它使用ansi c語言編寫。與其他的key - value緩存產品一樣,redis具有以下三個特點。

• redis支持數據的持久化,可以將內存中的數據保存在磁盤中,重啟的時候可以再次加載進行使用;

• redis不僅支持簡單的key-value類型數據,同時還提供字符串、鏈表、集合、有序集合和哈希等數據結構的存儲;

• redis支持數據備份,即master-slave模式的數據備份。

SpringBoot 整合Redis 數據庫的方法

在mac系統上,無需下載redis即可使用它,以下是從redis的托管服務器下載redis壓縮包并解壓的相關命令。

?
1
2
3
4
wget http://download.redis.io/releases/redis-4.0.8.tar.gz
tar xzf redis-4.0.8.tar.gz
cd redis-4.0.8
make

使用redis提供的服務之前,需要先啟動redis相關的服務,在mac系統上啟動redis的命令如下。

src/redis-server

SpringBoot 整合Redis 數據庫的方法

然后,重新打開一個redis客戶端,使用以下的命令來連接redis server。

?
1
2
3
4
5
src/redis-cli
redis> set foo bar
ok
redis> get foo
"bar"

SpringBoot 整合Redis 數據庫的方法 

整合redis 數據庫

使用redis之前需要引入相關依賴,maven方式依賴的腳本如下:

?
1
2
3
4
<dependency>
  <groupid>org.springframework.boot</groupid>
  <artifactid>spring-boot-starter-data-redis</artifactid>
</dependency>

之后我們把redis的相關配置寫入yml,這里建議根據之前不同的環境寫入不同的配置,redis默認使用的端口是6379,通常redis默認使用0號數據庫,默認共有16個數據庫:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#redis配置
 redis:
# 數據庫索引
  database: 0
#  服務器地址
  host: 127.0.0.1
#  服務器連接端口
  port: 6379
#  鏈接密碼
  password:
#  鏈接池
  pool:
#  最大連接數(負值表示沒有限制)
   max-active: 8
#   最大阻塞等待時間(負值表示沒有限制)
   max-wait: 1
#   最大空閑鏈接
   max-idle: 8
#   最小空閑鏈接
   min-idle: 0
#  鏈接超時時間(毫秒)
  timeout: 0

如果是application.properties方式,部分配置如下:

?
1
2
3
4
5
6
7
spring.redis.hostname=127.0.0.1
spring.redis.port=6379
spring.redis.pool.maxactive=8
spring.redis.pool.maxwait=-1
spring.redis.pool.maxidle=8
spring.redis.pool.minidle=0
spring.redis.timeout=0

新建redisconfig.java文件用來存放配置文件。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@configuration
@enablecaching//開啟注解
public class redisconfig extends cachingconfigurersupport {
  @bean
  public cachemanager cachemanager(redistemplate<?,?> redistemplate) {
    cachemanager cachemanager = new rediscachemanager(redistemplate);
    return cachemanager;
  }
  @bean
  public redistemplate<string, string> redistemplate(redisconnectionfactory factory) {
    redistemplate<string, string> redistemplate = new redistemplate<string, string>();
    redistemplate.setconnectionfactory(factory);
    return redistemplate;
  }
}

在service包中建立一個redisservice.java類。

?
1
2
3
4
public interface redisservice {
  public void set(string key, object value);
  public object get(string key);
}

新建一個service實現類redisserviceimpl.java。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
@service
public class redisserviceimpl implements redisservice {
  @resource
  private redistemplate<string,object> redistemplate;
  public void set(string key, object value) {
    valueoperations<string,object> vo = redistemplate.opsforvalue();
     vo.set(key, value);
  }
  public object get(string key) {
    valueoperations<string,object> vo = redistemplate.opsforvalue();
    return vo.get(key);
  }
}

新建controller層代碼usercontroller.java

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
@controller
@requestmapping(path="/user")
public class usercontroller {
  @autowired
  private userservice userservice;
  @autowired
  private redisservice redisservice;
  //從redis獲取某個用戶
  @requestmapping(value = "/getuserfromredis", method = requestmethod.get)
  public @responsebody user getredis(@requestparam string key) {
    return (user)redisservice.get(key);
  }
  //獲取所有用戶
  @requestmapping(value = "/getusers", method = requestmethod.get)
  public @responsebody page<user> list(model model, pageable pageable){
    return userservice.findall(pageable);
  }
  //添加用戶
  @getmapping(value="/adduser")
  public @responsebody string adduser(@requestparam string dictum,
      @requestparam string password, @requestparam string username) {
    user user = new user();
    user.setdictum(dictum);
    user.setpassword(password);
    user.setusername(username);
    system.out.println(user);
    userservice.saveuser(user);
    redisservice.set(user.getid()+"", user);
    return "saved";
  }
}

本文設計的實體類user.java的代碼如下,需要把對象存放在redis需要將對象序列化。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
@entity
@table(name="s_user")
public class user implements serializable {
  private static final long serialversionuid = 1l;
  @id
  @generatedvalue(strategy=generationtype.auto)
  private integer id;
  private string username;
  private string password;
  private string dictum;
  @onetomany(mappedby = "user", fetch = fetchtype. lazy, cascade = {cascadetype. all})
  private set<photo> setphoto;
  //省略getter和setter
  @override
  public string tostring() {
    return "user [id=" + id + ", username=" + username + ", password="
        + password + ", dictum=" + dictum + ", setphoto=" + setphoto
        + "]";
  }
}

總結

以上所述是小編給大家介紹的springboot 整合redis 數據庫的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

原文鏈接:https://blog.csdn.net/xiangzhihong8/article/details/79709778

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产成人久久精品一区二区三区 | 精品欧美乱码久久久久久 | 亚洲精品一二三区 | 国产欧美精品一区二区三区四区 | 中文字幕第一页在线 | 成年人黄色免费网站 | 日韩一区二区福利 | 国产成人久久精品一区二区三区 | 一区二区三区欧美在线 | 日日天天 | 国产精品美女久久久久aⅴ国产馆 | 久久久精品网站 | 看亚洲a级一级毛片 | 中国黄色片在线观看 | 中文字幕永久第一页 | 91粉色视频| 激情五月婷婷丁香 | 久久久999精品视频 午夜精品久久久久久久久久久久 | 在线观看视频91 | 国产三级| 日韩一区二区三区在线视频 | 日韩在线观看中文 | 欧美在线 | 亚洲 | 久久久久久国产精品 | 亚洲欧美日韩精品 | 91精品蜜臀在线一区尤物 | 人人爱人人爽 | 日韩在线精品 | 精品av| 欧美在线视频网 | 久久久久久久久久久久久大色天下 | 爱爱视频在线 | 亚洲第一色 | 午夜视频在线播放 | 国产日韩欧美在线 | 午夜在线观看视频 | 午夜草逼 | 欧美视频一区二区三区 | 精品国产一区二区在线 | 97超碰免费 | 欧美91看片特黄aaaa |