網址:Spring Data Redis
安裝包:Releases · tporadowski/redis · GitHub?
解壓后
在安裝目錄中打開cmd
?
打開服務(注意:每次客戶端連接都有先打開服務!!!)
?
按ctrl+C退出服務
?客戶端連接服務(注意一定是先打開服務,再開啟一個新的命令行窗口!!!)
keys *驗證是否啟動成功,exit退出
連接指定服務(本地redis服務localhost,端口6379)
為了客戶端連接服務的安全,設置密碼:打開配置文件,搜索pass,在requirepass行注釋去掉,設置密碼為123456
?打開服務后,再次連接客戶端
使用圖形界面操作redis客戶端:安裝鏈接
?
?set命令
輸入命令
?點擊name
在java中操作redis
進入到sky-server模塊
1). 導入Spring Data Redis的maven坐標(已完成)
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
2). 配置Redis數據源
在application-dev.yml中添加
sky:redis:host: localhostport: 6379password: 123456database: 10
解釋說明:
database:指定使用Redis的哪個數據庫,Redis服務啟動后默認有16個數據庫,編號分別是從0到15。
可以通過修改Redis配置文件來指定數據庫的數量。
在application.yml中添加讀取application-dev.yml中的相關Redis配置
spring:profiles:active: devredis:host: ${sky.redis.host}port: ${sky.redis.port}password: ${sky.redis.password}database: ${sky.redis.database}
3). 編寫配置類,創建RedisTemplate對象
package com.sky.config;
?
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.StringRedisSerializer;
?
@Configuration
@Slf4j
public class RedisConfiguration {
?@Beanpublic RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory){log.info("開始創建redis模板對象...");RedisTemplate redisTemplate = new RedisTemplate();//設置redis的連接工廠對象redisTemplate.setConnectionFactory(redisConnectionFactory);//設置redis key的序列化器redisTemplate.setKeySerializer(new StringRedisSerializer());return redisTemplate;}
}
解釋說明:
當前配置類不是必須的,因為 Spring Boot 框架會自動裝配 RedisTemplate 對象,但是默認的key序列化器為
JdkSerializationRedisSerializer,導致我們存到Redis中后的數據和原始數據有差別,故設置為
StringRedisSerializer序列化器。
4). 通過RedisTemplate對象操作Redis
在test下新建測試類
package com.sky.test;
?
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.redis.core.*;
?
@SpringBootTest
public class SpringDataRedisTest {@Autowiredprivate RedisTemplate redisTemplate;
?@Testpublic void testRedisTemplate(){System.out.println(redisTemplate);//string數據操作ValueOperations valueOperations = redisTemplate.opsForValue();//hash類型的數據操作HashOperations hashOperations = redisTemplate.opsForHash();//list類型的數據操作ListOperations listOperations = redisTemplate.opsForList();//set類型數據操作SetOperations setOperations = redisTemplate.opsForSet();//zset類型數據操作ZSetOperations zSetOperations = redisTemplate.opsForZSet();}
}
測試:
說明RedisTemplate對象注入成功,并且通過該RedisTemplate對象獲取操作5種數據類型相關對象。