一、Windows redis單機(jī)安裝
1精刷、下載Windows redis版本
官方?jīng)]有 Windows版本的 Redis拒啰,官網(wǎng)介紹:Redis項(xiàng)目不正式支持Windows斑唬。但是胆数,微軟開(kāi)發(fā)并維護(hù)了針對(duì)Win64的Windows版本肌蜻。
Windows版本下載地址:Redis-x64-3.2.100 提取碼:jkw2
解壓:
解壓完成后,安裝目錄下大概會(huì)有以下幾個(gè)文件:
- redis-server.exe:服務(wù)端程序必尼,提供redis服務(wù)
- redis-cli.exe: 客戶端程序蒋搜,通過(guò)它連接redis服務(wù)并進(jìn)行操作
- redis-check-dump.exe:本地?cái)?shù)據(jù)庫(kù)檢查
- redis-check-aof.exe:更新日志檢查
- redis-benchmark.exe:性能測(cè)試,用以模擬同時(shí)由N個(gè)客戶端發(fā)送M個(gè) SETs/GETs 查詢 (類似于 Apache 的ab 工具).
- redis.windows.conf: 配置文件判莉,將redis作為普通軟件使用的配置豆挽,命令行關(guān)閉則redis關(guān)閉
- redis.windows-service.conf:配置文件,將redis作為系統(tǒng)服務(wù)的配置券盅,用以區(qū)別開(kāi)兩種不同的使用方式
redis配置文件含義:redis.windows.conf和redis.windows-service.conf一樣帮哈,兩者只是啟動(dòng)方式不同。
# 是否作為守護(hù)進(jìn)程運(yùn)行
daemonize no
# Redis 默認(rèn)監(jiān)聽(tīng)端口
port 6379
# 客戶端閑置多少秒后锰镀,斷開(kāi)連接
timeout 300
# 日志顯示級(jí)別
loglevel verbose
# 指定日志輸出的文件名娘侍,也可指定到標(biāo)準(zhǔn)輸出端口
logfile redis.log
# 設(shè)置數(shù)據(jù)庫(kù)的數(shù)量,默認(rèn)最大是16,默認(rèn)連接的數(shù)據(jù)庫(kù)是0泳炉,可以通過(guò)select N 來(lái)連接不同的數(shù)據(jù)庫(kù)
databases 32
# ####### Dump持久化策略 ########
# 當(dāng)有一條Keys 數(shù)據(jù)被改變是憾筏,900 秒刷新到disk 一次
# save 900 1
# 當(dāng)有10 條Keys 數(shù)據(jù)被改變時(shí),300 秒刷新到disk 一次
save 300 100
# 當(dāng)有1w 條keys 數(shù)據(jù)被改變時(shí)胡桃,60 秒刷新到disk 一次
save 6000 10000
# 當(dāng)dump .rdb 數(shù)據(jù)庫(kù)的時(shí)候是否壓縮數(shù)據(jù)對(duì)象
rdbcompression yes
# dump 持久化數(shù)據(jù)保存的文件名
dbfilename dump.rdb
###### ##### Replication
# Redis的主從配置,配置slaveof則實(shí)例作為從服務(wù)器
# slaveof 192.168.0.105 6379
# 主服務(wù)器連接密碼
# masterauth <master-password>
###### ######## 安全性
# 設(shè)置連接密碼
# requirepass <password>
###### ######### LIMITS
# 最大客戶端連接數(shù)
# maxclients 128
# 最大內(nèi)存使用率
# maxmemory <bytes>
###### #### APPEND ONLY MODE
# 是否開(kāi)啟日志功能
appendonly no
# #####AOF持久化策略#####
# appendfsync always
# appendfsync everysec
# appendfsync no
###### ########## VIRTUAL MEMORY
# ###是否開(kāi)啟VM 功能####
# vm-enabled no
# vm-enabled yes
# vm-swap-file logs/redis.swap
# vm-max-memory 0
# vm-page-size 32
# vm-pages 134217728
# vm-max-threads 4
# 使用默認(rèn)配置文件啟動(dòng)redis會(huì)報(bào)錯(cuò)的踩叭,需要修改maxmemory這一項(xiàng)磕潮,注意單位時(shí)字節(jié)(209715200是200MB)
maxmemory 209715200
# 如果需要設(shè)置連接密碼翠胰,就修改requirepass,設(shè)為自己的密碼自脯。
requirepass mypassword
redis詳細(xì)配置參考說(shuō)明地址:
https://blog.csdn.net/ljl890705/article/details/51540427
2之景、打開(kāi)cmd命令進(jìn)入redis目錄-運(yùn)行redis
D:\Redis-x64-3.2.100>.\redis-server.exe redis.windows.conf
啟動(dòng)成功效果:3、查看redis信息
啟動(dòng)后窗口不要關(guān)膏潮,新開(kāi)一個(gè)cmd窗口锻狗,執(zhí)行
D:\Redis-x64-3.2.100> .\redis-cli
127.0.0.1:6379>
默認(rèn)連接本機(jī)127.0.0.1 端口號(hào) 6379,連接成功
修改配置文件redis.windows-service.conf
將 port 6379 端口號(hào) 改成 port 6380
4焕参、將Redis 加入 Windows 服務(wù)轻纪,執(zhí)行
redis-server --service-install redis.windows.conf --service-name Redis-x64-6380 --port 6380
提示:Redis successfully installed as a service.
表示加入服務(wù)成功!
如果 Redis 設(shè)置了密碼叠纷,加入服務(wù)時(shí)會(huì)提示
D:\Redis-x64-3.2.100>redis-server --service-install redis.windows.conf
[7540] 01 Feb 11:02:40.287 # Granting read/write access to 'NT AUTHORITY\NetworkService' on: "D:\Redis-x64-3.2.100\" "D:\Redis-x64-3.2.100\"
[7540] 01 Feb 11:02:40.288 # Redis successfully installed as a service.
服務(wù)就啟動(dòng)不了刻帚,可以服務(wù)里加參數(shù)處理,如下圖所示:啟動(dòng)參數(shù)里加入:
123456 是你的Redis密碼涩嚣。
單機(jī)redis安裝完成崇众!
5掂僵、安裝redis可視化工具-測(cè)試redis
下載地址:redis-desktop-manager-0.8.8.384.exe 提取碼:ksvp
redis-desktop-manager-0.8.8.384.exe 雙擊安裝,傻瓜式安裝顷歌,點(diǎn)擊下一步就行锰蓬。安裝完成,在桌面會(huì)生成快捷方式圖標(biāo)眯漩,
測(cè)試連接成功!
二芹扭、Windows搭建Redis Cluster集群
1、下載redis
Windows版本下載地址:Redis-x64-3.2.100 提取碼:jkw2
解壓坤塞,默認(rèn)端口6379
測(cè)試是否安裝成功:
D:\Redis-x64-3.2.100>.\redis-server.exe redis.windows.conf
2冯勉、在D盤創(chuàng)建文件夾D:\Redis-Cluster
首先我們構(gòu)建集群節(jié)點(diǎn)目錄:集群正常運(yùn)作至少需要三個(gè)主節(jié)點(diǎn),不過(guò)在剛開(kāi)始試用集群功能時(shí)摹芙, 強(qiáng)烈建議使用六個(gè)節(jié)點(diǎn): 其中三個(gè)為主節(jié)點(diǎn)灼狰, 而其余三個(gè)則是各個(gè)主節(jié)點(diǎn)的從節(jié)點(diǎn)。主節(jié)點(diǎn)崩潰浮禾,從節(jié)點(diǎn)的Redis就會(huì)提升為主節(jié)點(diǎn)交胚,代替原來(lái)的主節(jié)點(diǎn)工作,崩潰的主Redis回復(fù)工作后盈电,會(huì)成為從節(jié)點(diǎn).
拷貝開(kāi)始下載的redis解壓后的目錄Redis-x64-3.2.100到D:\Redis-Cluster下蝴簇,并修改文件名 Redis-x64-3.2.100-6381 6382、6383匆帚、6384熬词、6385、6386解釋一下為什么要復(fù)制六份:集群規(guī)劃有三個(gè)節(jié)點(diǎn)的集群吸重,每個(gè)節(jié)點(diǎn)有一主一備互拾。需要6臺(tái)虛擬機(jī).配置 三主三從集群.
由于 redis 默認(rèn)端口號(hào)為 6379,那么其它5份的端口可以為6381,6382嚎幸,6383颜矿,6384,6385,6386 我們不適用默認(rèn)的端口號(hào),且不與6379沖突嫉晶,保證6379可以骑疆。
3、分別修改這六份的redis配置
例如替废,打開(kāi)Redis-x64-3.2.100-6381 下有一個(gè)文件 redis.windows.conf 修改里面的端口號(hào)箍铭,以及集群支持配置
port 6381 // 這里把6379改成6381,相應(yīng)的其他5個(gè)修改端口號(hào)為 6382椎镣、6383诈火、6384、6385衣陶、6386
// 修改其他配置支持集群
cluster-enabled yes // 開(kāi)啟集群模式
cluster-config-file nodes-6381.conf // 保存節(jié)點(diǎn)配置,自動(dòng)創(chuàng)建,自動(dòng)更新(建議命名時(shí)加上端口號(hào))
cluster-node-timeout 15000 // 集群超時(shí)時(shí)間柄瑰,節(jié)點(diǎn)超過(guò)這個(gè)時(shí)間沒(méi)反應(yīng)就斷定是宕機(jī)
appendonly yes // 指定是否在每次更新操作后進(jìn)行日志記錄闸氮,Redis在默認(rèn)情況下是異步的把數(shù)據(jù)寫入磁盤,如果不開(kāi)啟教沾,可能會(huì)在斷電時(shí)導(dǎo)致一段時(shí)間內(nèi)的數(shù)據(jù)丟失蒲跨。 yes表示:存儲(chǔ)方式,aof授翻,將寫操作記錄保存到日志中
如果cluster-enabled 不為yes或悲, 那么在使用JedisCluster集群代碼獲取的時(shí)候,會(huì)報(bào)錯(cuò)堪唐。
cluster-node-timeout 調(diào)整為 15000巡语,那么在創(chuàng)建集群的時(shí)候,不會(huì)超時(shí)淮菠。
cluster-config-file nodes-6381.conf 是為該節(jié)點(diǎn)的配置信息男公,這里使用 nodes-端口.conf命名方法。服務(wù)啟動(dòng)后會(huì)在目錄生成該文件
4合陵、編寫一個(gè) bat 來(lái)啟動(dòng) redis
在每個(gè)Redis-x64-3.2.100-*節(jié)點(diǎn)目錄下建立 start.bat枢赔,內(nèi)容如下:
比如:D:\Redis-Cluster\Redis-x64-3.2.100-6381\start.bat
title redis-6381
redis-server.exe redis.windows.conf
將端口分別修改成功6381、6382拥知、6383踏拜、6384、6385低剔、6386
5速梗、系統(tǒng)需要有 Ruby環(huán)境
redis的集群使用 ruby腳本編寫,所以系統(tǒng)需要有 Ruby 環(huán)境 ,下載地址:
http://dl.bintray.com/oneclick/rubyinstaller/rubyinstaller-2.3.3-x64.exe
安裝時(shí)3個(gè)選項(xiàng)都勾選襟齿。
然后對(duì)ruby進(jìn)行配置:
6姻锁、構(gòu)建集群腳本redis-trib.rb
可以打開(kāi)https://raw.githubusercontent.com/antirez/redis/unstable/src/redis-trib.rb 然后復(fù)制里面的內(nèi)容到本地并保存為redis-trib.rb;
如下圖蕊唐,與redis集群節(jié)點(diǎn)保存在同一個(gè)文件夾下(比如我所有節(jié)點(diǎn)都存放在D:\Redis-Cluster文件夾下)
然后依次啟動(dòng)所有集群節(jié)點(diǎn)start.bat
然后cmd進(jìn)入redis集群節(jié)點(diǎn)D:\Redis-Cluster目錄后屋摔,執(zhí)行:集群?jiǎn)?dòng)命令(–replicas 1 表示為集群中的每個(gè)主節(jié)點(diǎn)創(chuàng)建一個(gè)從節(jié)點(diǎn))
D:\Redis-Cluster>.\redis-trib.rb create --replicas 1 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384 127.0.0.1:6385 127.0.0.1:6386
如果報(bào)錯(cuò)烁设,前面加ruby
D:\Redis-Cluster>ruby redis-trib.rb create --replicas 1 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384 127.0.0.1:6385 127.0.0.1:6386
如果再報(bào)-內(nèi)容如下:
PS D:\Redis-Cluster> .\redis-trib.rb create --replicas 1 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384 127
.0.0.1:6385 127.0.0.1:6386
WARNING: redis-trib.rb is not longer available!
You should use redis-cli instead.
All commands and features belonging to redis-trib.rb have been moved
to redis-cli.
In order to use them you should call redis-cli with the --cluster
option followed by the subcommand name, arguments and options.
Use the following syntax:
redis-cli --cluster SUBCOMMAND [ARGUMENTS] [OPTIONS]
Example:
redis-cli --cluster create 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384 127.0.0.1:6385 127.0.0.1:6386 --cluster-replicas 1
To get help about all subcommands, type:
redis-cli --cluster help
redis-trib.rb is not longer available!,可以看出這不是報(bào)錯(cuò)替梨,是redis-trib.rb版本和你的redis版本不一致,這個(gè)redis-trib.rb可以從對(duì)應(yīng)版本的redis-XX.tar.gz中的src目錄下獲茸昂凇:
我的版本是windows的Redis-x64-3.2.100
下載地址:https://github.com/microsoftarchive/redis/releases/tag/win-3.2.100
解壓-進(jìn)入redis-win-3.2.100\redis-win-3.2.100\src 找到redis-trib.rb
復(fù)制到D:\Redis-Cluster下
7副瀑、再執(zhí)行啟動(dòng)集群命令:
在D:\Redis-Cluster下 空白處 Shift+右擊 選擇--在此處打開(kāi) PowerShell 窗口(S)
D:\Redis-Cluster>ruby redis-trib.rb create --replicas 1 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384 127.0.0.1:6385 127.0.0.1:6386
上圖可看出 主節(jié)點(diǎn)為6381,6382,6383端口的三個(gè)地址,6384,6385,6386為三個(gè)從節(jié)點(diǎn):
Adding replica 127.0.0.1:6384 to 127.0.0.1:6381
Adding replica 127.0.0.1:6385 to 127.0.0.1:6382
Adding replica 127.0.0.1:6386 to 127.0.0.1:6383
中途會(huì)詢問(wèn)是否打印更多詳細(xì)信息恋谭,輸入yes即可糠睡,然后redis-trib 就會(huì)將這份配置應(yīng)用到集群當(dāng)中,讓各個(gè)節(jié)點(diǎn)開(kāi)始互相通訊:
Can I set the above configuration? (type 'yes' to accept): yes
>>> Nodes configuration updated
>>> Assign a different config epoch to each node
>>> Sending CLUSTER MEET messages to join the cluster
Waiting for the cluster to join.....
>>> Performing Cluster Check (using node 127.0.0.1:6381)
M: b7881780481d4ebffff5a2e140cb0b9778dd3b86 127.0.0.1:6381
slots:0-5460 (5461 slots) master
M: 8cf2636d55e5f54a31fea21dbf12adf3515e5aef 127.0.0.1:6382
slots:5461-10922 (5462 slots) master
M: 4b312b45a43484ac6f9a1a9a63f34345ec0c163f 127.0.0.1:6383
slots:10923-16383 (5461 slots) master
M: 98ab54d6f8dac11a8911762be3cdc2f211562bcd 127.0.0.1:6384
slots: (0 slots) master
replicates b7881780481d4ebffff5a2e140cb0b9778dd3b86
M: 20697b746d07108220e7476a172fdb1b8e429069 127.0.0.1:6385
slots: (0 slots) master
replicates 8cf2636d55e5f54a31fea21dbf12adf3515e5aef
M: 081a9f17a774ab5e279ef6d193a5a2cc4393c91b 127.0.0.1:6386
slots: (0 slots) master
replicates 4b312b45a43484ac6f9a1a9a63f34345ec0c163f
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
Redis集群數(shù)據(jù)分配策略:
采用一種叫做哈希槽 (hash slot)的方式來(lái)分配數(shù)據(jù),redis cluster 默認(rèn)分配了 16384 個(gè)slot疚颊,三個(gè)節(jié)點(diǎn)分別承擔(dān)的slot 區(qū)間是:(如上面3個(gè)M:節(jié)點(diǎn)的slots描述)
節(jié)點(diǎn)6380覆蓋0-5460;
節(jié)點(diǎn)6381覆蓋5461-10922;
節(jié)點(diǎn)6382覆蓋10923-16383.
最后查看所有集群節(jié)點(diǎn)狈孔,會(huì)看到:
測(cè)試集群搭建成功信认!
8、測(cè)試集群
進(jìn)入任意一個(gè)集群節(jié)點(diǎn)均抽,cmd執(zhí)行 redis-cli.exe -c -p 6381
PS D:\Redis-Cluster\Redis-x64-3.2.100-6381> .\redis-cli.exe -c -p 6381
127.0.0.1:6381> set name redis-test
-> Redirected to slot [5798] located at 127.0.0.1:6382
OK
127.0.0.1:6382> get name
"redis-test"
127.0.0.1:6382> set name redis-test2
OK
127.0.0.1:6382> get name
"redis-test2"
127.0.0.1:6382> hset redis:hash Hash1 123456
-> Redirected to slot [5427] located at 127.0.0.1:6381
(integer) 1
127.0.0.1:6381>
可以看到集群會(huì)用CRC16算法來(lái)取模得到所屬的slot,然后將這個(gè)key分到哈希槽區(qū)間的節(jié)點(diǎn)上CRC16(key) % 16384
所以油挥,可以看到我們set的key計(jì)算之后被分配到了slot-5427 上潦蝇, 而slot-5427處在節(jié)點(diǎn)6381上,因此redis自動(dòng)redirect到了6381節(jié)點(diǎn)上.
9深寥、附上所有工具及搭建的redis集群下載地址:
下載集群測(cè)試 提取碼:ef4a
隨便放到一個(gè)磁盤里攘乒,安裝Ruby之后,就可以啟動(dòng)集群命令-測(cè)試集群惋鹅!
三则酝、springboot redis單機(jī)和集群配置
1、springboot redis單機(jī)代碼實(shí)例
springboot+redis項(xiàng)目實(shí)戰(zhàn)完整篇
2闰集、springboot redis集群代碼實(shí)例
1堤魁、配置集群
在 springboot+redis項(xiàng)目實(shí)戰(zhàn)完整篇 的基礎(chǔ)上,修改yml中的redis配置:
spring:
redis:
#host: localhost # redis單機(jī)配置
#port: 6379
max-wait: 30000 # 連接池最大阻塞等待時(shí)間(使用負(fù)值表示沒(méi)有限制)
max-active: 100 # 連接池最大連接數(shù)(使用負(fù)值表示沒(méi)有限制)
max-idle: 20 # 連接池中的最大空閑連接
min-idle: 0 # 連接池中的最小空閑連接
timeout: 5000 # 連接超時(shí)
#password: 123456 # 密碼
cluster: # redis集群配置
nodes: 127.0.0.1:6381,127.0.0.1:6382,127.0.0.1:6383,127.0.0.1:6384,127.0.0.1:6385,127.0.0.1:6386
max-redirects: 2 # 最大重定向次數(shù)
2返十、測(cè)試集群配置
可以不用Postman測(cè)試接口妥泉,也可以用下面的方式測(cè)試:用swagger方式測(cè)試接口很方便。
pom.xml
<!--集成swagger-API-->
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<exclusions>
<exclusion>
<groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId>
</exclusion>
<exclusion>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
</exclusion>
</exclusions>
</dependency>
config文件夾下添加swagger配置類:
package com.dist.config;
import com.google.common.base.Predicate;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
/**
* @author yangmin
* @date 2018/8/15
* @desc
*/
@Configuration
@EnableSwagger2
public class Swaggwe2Config {
@Bean
public Docket adminApi(){
return new Docket(DocumentationType.SWAGGER_2)
.groupName("Admin API")
.forCodeGeneration(true)
.pathMapping("/")
.select()
.paths(paths())
.build()
.apiInfo(apiInfo())
.useDefaultResponseMessages(false);
}
private Predicate<String> paths(){
return PathSelectors.regex("^/(?!error).*$");
}
private ApiInfo apiInfo(){
Contact contact = new Contact("BaiDu", "controller://baidu.com", " zhengja@dist.com.cn");
return new ApiInfoBuilder()
.title("個(gè)人SpringBoot測(cè)試系統(tǒng)")
.description("開(kāi)發(fā)API文檔")
.contact(contact)
.version("1.0")
.build();
}
}
Controller測(cè)試接口
package com.dist.controller;
import com.dist.utils.RedisUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
/**
* @author zhengja@dist.com.cn
* @data 2019/6/17 17:28
*/
@RestController
@RequestMapping(value = "rest/redis")
@Api(tags = {"RedisUtilController"}, description = "redisUtil測(cè)試")
public class RedisUtil2Controller {
@Resource
private RedisUtil redisUtil;
@RequestMapping(value = "v1/redisSave",method = {RequestMethod.GET})
@ApiOperation(value = "保存到redis,并返回結(jié)果",notes = "保存到redis")
public Object redisSave(@ApiParam(value = "傳入key值") @RequestParam String key,
@ApiParam(value = "傳入value值") @RequestParam String value){
redisUtil.set(key,value);
return redisUtil.get(key);
}
@RequestMapping(value = "v1/redisGetAllKeyValue",method = {RequestMethod.GET})
@ApiOperation(value = "獲取redis種所有key和value值",notes = "獲取redis種所有key和value值")
public Object redisGetAllKeyValue(){
Set<String> keys = redisUtil.keys("*");
Iterator<String> iterator = keys.iterator();
Map<String,Object> map = new HashMap<>();
while (iterator.hasNext()){
String key = iterator.next();
Object o = redisUtil.get(key);
map.put(key,o);
}
return map;
}
@RequestMapping(value = "v1/deleteRedisAll",method = {RequestMethod.DELETE})
@ApiOperation(value = "清除redis所有緩存",notes = "清除redis所有緩存")
public Object deleteRedisAll(){
Set<String> keys = redisUtil.keys("*");
Iterator<String> iterator = keys.iterator();
while (iterator.hasNext()){
redisUtil.del(iterator.next());
}
return "刪除redis所有數(shù)據(jù)成功";
}
@RequestMapping(value = "v1/getRedisValue",method = {RequestMethod.GET})
@ApiOperation(value = "根據(jù)key獲取value值",notes = "根據(jù)key獲取value值")
public Object getRedisValue(@ApiParam(value = "傳入key值") @RequestParam String key){
return redisUtil.get(key);
}
}
在resources/static下創(chuàng)建index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>springboot-test-redis</title>
</head>
<body>
<h1>首頁(yè)面</h1>
<h2>springboot-test-redis</h2>
<a href="http://localhost:8080/springboot-test-redis/swagger-ui.html">進(jìn)入swagger頁(yè)面測(cè)試</a>
</body>
</html>
上面的http://localhost:8080/springboot-test-redis修改成自己的項(xiàng)目訪問(wèn)路徑
3洞坑、測(cè)試效果
redis保存數(shù)據(jù):redis根據(jù)key查詢value數(shù)據(jù):
redis查詢所有數(shù)據(jù):