现在osc上有大量的文章来说springboot整合redis实现缓存的技术方案,比如:《SpringBoot集成Redis来实现缓存技术方案》
但是殊不知如果使用Jboot来实现使用redis的技术方案,要比springboot简单100000000000倍。
第一步:maven依赖jboot
<dependency>
<groupId>io.jboot</groupId>
<artifactId>jboot</artifactId>
<version>1.0-alpha4.1</version>
</dependency>
第二步:配置jboot的缓存配置文件jboot.properties
jboot.cache.type= redis
jboot.cache.redis.host = 127.0.0.1
第三步:在Service使用缓存(注解方式)
@Singleton
public class UserServiceImpl implements UserService {
@Cacheable(name = "user",key = "#(id)")
public User getUserById(@Named("id") String id) {
return new User();
}
}
@Singleton
public class ArticleServiceImpl implements ArticleService {
@Cacheable(name = "article", key = "articleListCache:#(user.id)", unless="user == null")
public List<Article> getArticleListByUser(@Named("user") User byUser) {
//do your something
return new List<Article>();
}
}
第四步:使用(controller直接使用)
@RequestMapping("/user")
public class UserController extends JbootController {
@Inject
UserService userService;
public void index() {
User user = userService.getById("123");
setAttr("user",user);
render("index.html");
}
}
总结:
比springboot好用1000000000000倍。