springboot中redis的簡單操作
簡單示例:
application.properties:
## Redis資料庫索引(使用的資料庫(0-15),預設為0)
spring.redis.database=0
## 連線URL,將覆蓋主機,埠和密碼(使用者將被忽略),
## 例如:redis://user:password@example.com:6379
spring.redis.url=
## Redis伺服器主機: 127.0.0.1
spring.redis.host=localhost
## Redis伺服器連線密碼(預設為空)
spring.redis.password=
## Redis伺服器連線埠
spring.redis.port=6379
## 啟用SSL支援
spring.redis.ssl=false
## 連線超時時間(毫秒)
spring.redis.timeout=0
## 連線池最大連線數(使用負值表示沒有限制)
spring.redis.jedis.pool.max-active=8
## 連線池最大阻塞等待時間(使用負值表示沒有限制)
spring.redis.jedis.pool.max-wait=-1
## 連線池中的最大空閒連線
spring.redis.jedis.pool.max-idle=8
## 連線池中的最小空閒連線
spring.redis.jedis.pool.min-idle=0
## cluster [ˈklʌstə(r)] 叢集
spring.redis.cluster.nodes=
spring.redis.cluster.max-redirects=
## sentinel [ˈsentɪnl] 哨兵
spring.redis.sentinel.master=
spring.redis.sentinel.nodes=
## lettuce [ˈletɪs] 萵苣、生菜
spring.redis.lettuce.pool.max-active=8
spring.redis.lettuce.pool.max-wait=-1
spring.redis.lettuce.pool.max-idle=8
spring.redis.lettuce.pool.min-idle=0
spring.redis.lettuce.shutdown-timeout=100
pom.xml:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
定義redis的操作類
@Repository
public class RedisDao {
@Autowired
private StringRedisTemplate stringRedisTemplate;
public void setKey(String key, String value) {
ValueOperations<String, String> valueOperations = stringRedisTemplate.opsForValue();
valueOperations.set(key, value, 1, TimeUnit.MINUTES);//1分鐘過期
}
public String getValue(String key) {
ValueOperations<String, String> valueOperations = stringRedisTemplate.opsForValue();
return valueOperations.get(key);
}
}
測試:
import org.junit.Test;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest
public class DemoApplicationTests {
@Test
public void contextLoads() {
}
public static Logger logger = LoggerFactory.getLogger(DemoApplicationTests.class);
@Autowired
RedisDao redisDao;
@Test
public void testRedis() {
redisDao.setKey("name", "xq");
redisDao.setKey("age", "18");
logger.info(redisDao.getValue("name"));
logger.info(redisDao.getValue("age"));
}
}
其他
StringRedisTemplate 與 RedisTemplate關係
public class StringRedisTemplate extends RedisTemplate<String, String> {
RedisAutoConfiguration
@Configuration
@ConditionalOnClass(RedisOperations.class)
@EnableConfigurationProperties(RedisProperties.class)
@Import({ LettuceConnectionConfiguration.class, JedisConnectionConfiguration.class })
public class RedisAutoConfiguration {
@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;
}
}
@ConditionalOnClass :
該註解的引數對應的類必須存在,否則不解析該註解修飾的配置類;
@ConditionalOnMissingBean :
該註解表示,如果存在它修飾的類的bean,則不需要再建立這個bean;
可以給該註解傳入引數例如@ConditionOnMissingBean(name = “example”),
這個表示如果name為“example”的bean存在,這該註解修飾的程式碼塊不執行。
判斷是否執行初始化程式碼,即如果使用者已經建立了bean,則相關的初始化程式碼不再執行。
相關文章
- redis簡單的操作Redis
- 一個簡單清晰的Redis操作類Redis
- Java操作Redis資料庫方法(簡單)JavaRedis資料庫
- redis中lua指令碼的簡單使用Redis指令碼
- java程式碼中操作Redis:單機redis、叢集redis(spring+redis整合)JavaRedisSpring
- .net使用CSRedis操作Redis快取的簡單筆記(新手教程)Redis快取筆記
- 線性表中的單向連結串列的簡單操作
- Redis 中的原子操作(1)-Redis 中命令的原子性Redis
- springboot + redis(單機版)Spring BootRedis
- Springboot整合Redis的一些常用操作Spring BootRedis
- MyBatis 的簡單 CRUD 操作MyBatis
- Linux簡單的操作Linux
- mysql的簡單基本操作MySql
- springboot簡單的專案Spring Boot
- java 簡單使用redisJavaRedis
- Redis在.net中的使用(3)簡單的主從複製Redis
- Nginx簡單操作Nginx
- vim 簡單操作
- SpringBoot簡單梳理Spring Boot
- SpringBoot簡單DemoSpring Boot
- 分享一個簡單的redis限流Redis
- 順序棧的簡單操作
- JavaScript中的DOM和Timer(簡單易用的基本操作)JavaScript
- 【Javascript】——簡單cookie操作JavaScriptCookie
- Maven Deploy 簡單操作Maven
- Jedis操作單節點redis,叢集及redisTemplate操作redis叢集(一)Redis
- 最簡單的SpringBoot整合MyBatis教程Spring BootMyBatis
- SpringBoot與WebService的簡單實現Spring BootWeb
- java實現棧的簡單操作Java
- linux下oracle的簡單操作LinuxOracle
- 收集統計資訊的簡單操作
- springboot(三):Spring boot中Redis的使用Spring BootRedis
- mysql的安裝和簡單的操作MySql
- Redis 中的原子操作(3)-使用Redis實現分散式鎖Redis分散式
- 單連結串列簡單操作一
- 在 SpringBoot 專案中簡單實現 JWT 驗證Spring BootJWT
- springboot-stater + redis + lua 實現一個簡單的發號器(3)-- 實現篇Spring BootRedis
- Redis—簡單動態字串(SDS)Redis字串