package demo; import java.util.Arrays; import java.util.Map; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.boot.CommandLineRunner; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.data.redis.core.ValueOperations; import org.springframework.data.redis.support.collections.DefaultRedisMap; import org.springframework.stereotype.Component; @Component public class Demo implements CommandLineRunner { private static Log logger = LogFactory.getLog(Demo.class); private final StringRedisTemplate template; private final SlowService service; public Demo(StringRedisTemplate template, SlowService service) { this.template = template; this.service = service; } @Override public void run(String... args) throws Exception { reset(); operations(); javaTypes(); caching(); } private void reset() { this.template.delete(Arrays.asList("abc", "boot", "slow~keys", "data")); } private void operations() { ValueOperations<String, String> ops = this.template.opsForValue(); Arrays.asList(1, 2, 3, 6).forEach((i) -> ops.increment("abc", i)); logger.info(ops.get("abc")); } private void javaTypes() { Map<String, String> map = new DefaultRedisMap<>("data", this.template); map.put("spring", "boot"); map = new DefaultRedisMap<>("data", this.template); logger.info(map.get("spring")); } private void caching() { logger.info("----> 1 " + this.service.execute("boot")); logger.info("----> 2 " + this.service.execute("boot")); logger.info("----> 3 " + this.service.execute("boot")); } }