文章目录
- jetcache远程、本地缓存方案
- jetcache方法注解使用方式
jetcache远程、本地缓存方案
<dependency><groupId>com.alicp.jetcache</groupId><artifactId>jetcache-starter-redis</artifactId><version>2.6.4</version></dependency>
jetcache:local:default:type: linkedhashmapkeyConvertor: fastjsonremote:default:type: redishost: localhostport: 6379password: 123456poolConfig:maxTotal: 50sms:type: redishost: localhostport: 6379poolConfig:maxTotal: 50
开启缓存
//remote
// @CreateCache(area="sms",name = "jetCache_",expire = 3600,timeUnit = TimeUnit.SECONDS)@CreateCache(name = "jetCache_",expire = 3600,timeUnit = TimeUnit.SECONDS,cacheType = CacheType.LOCAL)private Cache<String,String> jetCache;@Overridepublic String sendCodeToSMS(String tele) {String code = codeUtils.generator(tele);jetCache.put(tele,code);return code;}@Overridepublic Boolean checkCode(SMSCode smsCode) {String code = jetCache.get(smsCode.getTele());return smsCode.getCode().equals(code);}
jetcache方法注解使用方式
@SpringBootApplication
// Jetcache启用缓存的主开关
@EnableCreateCacheAnnotation
// 开启方法注解缓存
@EnableMethodCache(basePackages = "com.itheima")
public class Springboot20JetcacheApplication {public static void main(String[] args) {SpringApplication.run(Springboot20JetcacheApplication.class, args);}}
@Override@Cached(name = "book_",key = "#id",expire = 3600,cacheType = CacheType.REMOTE)
// @CacheRefresh(refresh = 10)public Book getById(Integer id) {return bookDao.selectById(id);}@Overridepublic Boolean save(Book book) {return bookDao.insert(book)>0;}@Override@CacheUpdate(name = "book_",key = "#book.id",value = "#book")public Boolean update(Book book) {return bookDao.updateById(book) > 0;}@Override@CacheInvalidate(name = "book_",key = "#id")public Boolean delete(Integer id) {return bookDao.deleteById(id) > 0;}
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Book implements Serializable {private Integer id;private String type;private String name;private String description;
}
jetcache:statIntervalMinutes: 1local:default:type: linkedhashmapkeyConvertor: fastjsonremote:default:type: redishost: localhostport: 6379password: 123456keyConvertor: fastjsonvalueEncode: javavalueDecode: javapoolConfig:maxTotal: 50sms:type: redishost: localhostport: 6379poolConfig:maxTotal: 50