Springboot統合redis+token認証ログイン
前に書く redisは、メモリベースでも永続的なセッションベースでもよいログ型、key-valueデータベースである.パフォーマンスが高いため、ストレージデータ型が豊富であるなどの利点がデータキャッシュとしてよく用いられる. 本文はspringboot 2を紹介した.2.0 redisを統合するための一般的な手順.本文を読むと、5分ぐらいかかります. 統合redis
一.インストールredisオペレーティングシステムに基づいてredisバージョンを選択してredisをダウンロードし、インストールします.クリックして をダウンロードします.ダウンロードファイルの名前をredis->ファイルを開く->cmdを現在のフォルダの下->redis-serverに変更します.exe redis.windows.confはredis を起動することができるはredisに環境変数を設定することができます.これはよく知られています.
注意:ファイアウォールはredisのために開くべきです!
二.redis依存の導入
pom.xmlファイルの下でredis依存性を導入
3.グローバル構成シングルサーバredis
propertiesファイルに、次の基本構成を追加します.
4.RedisServerを新規作成します.java.redisの基本操作のクラスを作成する
一.インストールredis
注意:ファイアウォールはredisのために開くべきです!
二.redis依存の導入
pom.xmlファイルの下でredis依存性を導入
org.springframework.boot
spring-boot-starter-data-redis
redis.clients
jedis
io.lettuce
lettuce-core
redis.clients
jedis
org.apache.commons
commons-pool2
2.5.0
3.グローバル構成シングルサーバredis
propertiesファイルに、次の基本構成を追加します.
spring.redis.port=6379
spring.redis.host=127.0.0.1
# redis
#spring.redis.password=123
spring.redis.jedis.pool.max-active=100
spring.redis.jedis.pool.max-idle=5
spring.redis.jedis.pool.max-wait=60000
spring.redis.database=0
spring.redis.timeout=10000
# redis session type redis
spring.session.store-type=redis
spring.session.timeout=10
server.servlet.session.timeout=10
4.RedisServerを新規作成します.java.redisの基本操作のクラスを作成する
package com.dbc.usermanager.service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.core.ValueOperations;
import org.springframework.stereotype.Service;
import java.util.concurrent.TimeUnit;
@Service
public class RedisService {
@Autowired
protected StringRedisTemplate redisTemplate;
/**
* redis ( expire )
* @param key
* @param value
* @return
*/
public boolean set(final String key, String value){
boolean result = false;
try {
ValueOperations operations = redisTemplate.opsForValue();
operations.set(key, value);
result = true;
} catch (Exception e) {
System.out.println(" redis ! :" + e.getMessage());
}
return result;
}
/**
* redis ( expire )
* @param key
* @param value
* @param expire
* @return
*/
public boolean set(final String key, String value, Long expire){
boolean result = false;
try {
ValueOperations operations = redisTemplate.opsForValue();
operations.set(key, value);
redisTemplate.expire(key, expire, TimeUnit.SECONDS);
result = true;
} catch (Exception e) {
System.out.println(" redis ( expire ) ! :" + e.getMessage());
}
return result;
}
/**
* redis
* @param key
* @return
*/
public Object get(final String key){
Object result = null;
try {
ValueOperations operations = redisTemplate.opsForValue();
result = operations.get(key);
} catch (Exception e) {
System.out.println(" redis ! :" + e.getMessage());
}
return result;
}
/**
* redis key
* @param key
* @return
*/
public boolean exists(final String key){
boolean result = false;
try {
result = redisTemplate.hasKey(key);
} catch (Exception e) {
System.out.println(" redis key ! :" + e.getMessage());
}
return result;
}
/**
* redis key value
* @param key
* @return
*/
public boolean remove(final String key){
boolean result = false;
try {
if(exists(key)){
redisTemplate.delete(key);
}
result = true;
} catch (Exception e) {
System.out.println("redis key value ! :" + e.getMessage());
}
return result;
}
/**
* redis keys value
* @param keys
* @return
*/
public void remove(final String... keys){
for(String key : keys){
remove(key);
}
}
}