- structure
- build.gradle
group 'org.blog.test' version '1.0-SNAPSHOT' apply plugin: 'java' apply plugin: 'spring-boot' buildscript { repositories { mavenCentral() } dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin:1.4.0.RELEASE") } } repositories { mavenCentral() } dependencies { compile group: 'org.springframework.boot', name: 'spring-boot-starter-web' compile group: 'org.springframework.data', name: 'spring-data-redis', version: '1.7.2.RELEASE' compile group: 'org.projectlombok', name: 'lombok', version: '1.16.10' compile group: 'redis.clients', name: 'jedis', version: '2.9.0' }
- application.yml
server: port: 8080 redis: host: name: 192.168.122.1 port: 6379
- RedisApplication.java
package org.blog.test; import lombok.extern.slf4j.Slf4j; import org.blog.test.cache.service.CacheService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication @Slf4j public class RedisApplication implements CommandLineRunner { public static void main(String[] args) { SpringApplication.run(RedisApplication.class, args); } @Autowired private CacheService cacheService; @Override public void run(String... args) throws Exception { log.info("start"); cacheService.putValue("test","test value"); } }
- RedisConfig.java
package org.blog.test.config; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.redis.connection.jedis.JedisConnectionFactory; import org.springframework.data.redis.core.RedisTemplate; import redis.clients.jedis.JedisPoolConfig; @Configuration public class RedisConfig { @Value("${redis.host.name}") private String redisHostName; @Value("${redis.port}") private Integer redisPort; @Bean public JedisConnectionFactory jedisConnectionFactory() { JedisConnectionFactory jedisConnectionFactory = new JedisConnectionFactory(); JedisPoolConfig jedisPoolConfig = new JedisPoolConfig(); jedisPoolConfig.setMaxIdle(10); jedisPoolConfig.setMaxTotal(30); jedisConnectionFactory.setPoolConfig(jedisPoolConfig); jedisConnectionFactory.setHostName(redisHostName); jedisConnectionFactory.setPort(redisPort); jedisConnectionFactory.setUsePool(true); return jedisConnectionFactory; } @Bean public RedisTemplate redisTemplate() { RedisTemplate redisTemplate = new RedisTemplate(); redisTemplate.setConnectionFactory(jedisConnectionFactory()); return redisTemplate; } }
- CacheService.java
package org.blog.test.cache.service; public interface CacheService { void putValue(String key, String value); }
- RedisServiceImpl.java
package org.blog.test.cache.service.impl; import lombok.extern.slf4j.Slf4j; import org.blog.test.cache.service.CacheService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; @Service @Slf4j public class RedisServiceImpl implements CacheService { @Autowired private RedisTemplate redisTemplate; @Override public void putValue(String key, String value) { redisTemplate.boundValueOps(key).set(value); log.info("add cache key : [{}], value: [{}]", key, value); } }
- result
You can find the key, value in redis server.
[root@localhost redis-3.2.3]# redis-cli 127.0.0.1:6379> keys * 1) "\xac\xed\x00\x05t\x00\x04test" 127.0.0.1:6379> get "\xac\xed\x00\x05t\x00\x04test" "\xac\xed\x00\x05t\x00\ntest value"
댓글 없음 :
댓글 쓰기