整体参考学习:
博主文章
- 为什么要用redis?
在日常的应用中,数据库瓶颈是最容易出现的。数据量太大和频繁的查询,由于磁盘IO性能的局限性,导致项目的性能越来越低。 这时候,基于内存的缓存框架,就能解决我们很多问题。例如Memcache,Redis等。将一些频繁使用的数据放入缓存读取,大大降低了数据库的负担。提升了系统的性能。
2.redis是什么?
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
目前阶段简单理解是基于 key-value键值对形式存储数据的内存数据库(redis基于内存的读取和写入相比传统的数据库基于磁盘IO快上数倍)。
3.初级使用,只在用的阶段
- 配置redis数据库
- 引入依赖包
<!-- redis --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>
- 使用类及方法
ValueOperations<String,String> valueOperations; MicroserviceApiController(StringRedisTemplate redisTemplate){ this.redisTemplate = redisTemplate; valueOperations = redisTemplate.opsForValue(); } Map<String,Object> apiMap = new HashMap<>(); @PostMapping("/addApies") public Result addApies(@RequestParam Map<String,Object> params){ //this.apiMap.putAll(params); Set<Map.Entry<String, Object>> entries = params.entrySet(); for (Map.Entry<String, Object> entry : entries) { valueOperations.set(entry.getKey(),entry.getValue().toString(),1, TimeUnit.HOURS); } return ResultGenerator.genSuccessResult(); } @GetMapping("/getApies") public String getApiMap(String key){ return valueOperations.get(key); }
调用接口或方法既可以实现数据的存储,接口中使用redis必须要设置缓存时间,否则会报错。