Linux安裝Redis
1、準備安裝包
2、解壓安裝包
tar zxvf redis-5.0.5.tar.gz
3、進入剛剛解壓的那個文件夾,輸入make命令
4、等待上述過程完成後,輸入 make install命令
5、在redis/src/文件夾下 運行 ./redis-server啓動Redis
6、設置Redis後臺運行
7、修改完成後重新啓動。
Springboot 整合Redis
1、添加Redis相關依賴
咱們還是以之前搭建的Springboot項目爲基礎
<!-- Redis相關依賴 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
2、application.properties中加入redis相關配置
參見《Spring Boot、Duboo、Zookeeper、redis的配置文件【怎麼用】》
# Redis數據庫索引(默認爲0)
spring.redis.database=0
# Redis服務器地址
spring.redis.host=192.168.0.24
# Redis服務器連接端口
spring.redis.port=6379
# Redis服務器連接密碼(默認爲空)
spring.redis.password=
# 連接池最大連接數(使用負值表示沒有限制)
spring.redis.pool.max-active=200
# 連接池最大阻塞等待時間(使用負值表示沒有限制)
spring.redis.pool.max-wait=-1
# 連接池中的最大空閒連接
spring.redis.pool.max-idle=10
# 連接池中的最小空閒連接
spring.redis.pool.min-idle=0
# 連接超時時間(毫秒)
spring.redis.timeout=1000
3、redis配置類
package com.example.demo;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisOperations;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.support.collections.RedisProperties;
import java.net.UnknownHostException;
/**FrozenConnection與RedAntctionConfiguration是俺隨便創建的倆個客戶端
*
/
@Configuration
@ConditionalOnClass(RedisOperations.class)
@EnableConfigurationProperties(RedisProperties.class)
@Import({FrozenConnection.class, RedAntctionConfiguration.class})
public class RedisAutoConfiguration {
/**@ConditionalOnMissingBean
* 如果Spring容器中有了RedisTemplate對象了,
* 這個自動配置的RedisTemplate不會實例化。
* 因此我們可以直接自己寫個配置類,配置RedisTemplate。
*/
@Bean
@ConditionalOnMissingBean(name = "redisTemplate")
public RedisTemplate<Object, Object> redisTemplate(
RedisConnectionFactory redisConnectionFactory) throws UnknownHostException {
RedisTemplate<Object, Object> template = new RedisTemplate<>();
template.setConnectionFactory(redisConnectionFactory);
return template;
}
@Bean
@ConditionalOnMissingBean
public StringRedisTemplate stringRedisTemplate(
RedisConnectionFactory redisConnectionFactory) throws UnknownHostException {
StringRedisTemplate template = new StringRedisTemplate();
template.setConnectionFactory(redisConnectionFactory);
return template;
}
}
package com.example.demo;
import io.lettuce.core.RedisClient;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.context.annotation.Configuration;
/**
* SpringBoot默認使用的是lettuce
*/
@Configuration
@ConditionalOnClass(RedisClient.class)
public class FrozenConnection extends RedisAutoConfiguration{
}
package com.example.demo;
import org.apache.commons.pool.impl.GenericObjectPool;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.data.redis.RedisProperties;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.jedis.JedisConnection;
@Configuration
@ConditionalOnClass({ GenericObjectPool.class, JedisConnection.class, RedisProperties.Jedis.class })
public class RedAntctionConfiguration extends RedisAutoConfiguration{
}