標籤:.com 整合 通過 print 並且 inf bsp control ring
2、SpringCloud+MyBatis+Redis
redis是一種nosql資料庫,以索引值對<key,value>的形式儲存資料,其速度相比於MySQL之類的資料庫,相當於記憶體讀寫與硬碟讀寫的差別,所以常常用作緩衝,用於少寫多讀的情境下,直接從緩衝拿資料比從資料庫(資料庫要I/O操作)拿要快得多。
話不多說,接下來緊接上一章《SpringCloud+MyBatis+Redis整合—— 超詳細執行個體(一)》搭建SpringCloud+MyBatis+Redis環境:
1 <!-- Redis緩衝整合開始 -->2 <dependency>3 <groupId>org.springframework.boot</groupId>4 <artifactId>spring-boot-starter-data-redis</artifactId>5 </dependency> 6 <!-- Redis緩衝整合結束 -->
- 第二步:下載Windows版Redis https://github.com/MSOpenTech/redis/releases
開啟一個 cmd 視窗 使用cd命令切換目錄到 F:\dev-space\workspaces\newPlatform-2018\RedisForWindow 運行 redis-server.exe redis.windows.conf 。(放檔案的實際路徑)
第三步:改造controller類,新增Service類讓方法擁有Redis緩衝
1 @Service 2 public class UserService { 3 @Autowired 4 private UserMapper userMapper; 5 6 @Cacheable(value="user", key="‘user‘")① 7 public User selectByPrimaryKey(Integer id) { 8 System.out.println("開始查詢....."); 9 try {10 Thread.sleep(3 * 1000l);11 } catch (InterruptedException e) {12 e.printStackTrace();13 }14 System.out.println("查詢結束......");15 User user=userMapper.selectByPrimaryKey(id);16 17 return user;18 }19 20 }
1 @RestController 2 public class HelloController { 3 @Autowired 4 private UserService userService; 5 6 @RequestMapping("/hello") 7 public String index() { 8 long beginTime=System.currentTimeMillis(); 9 User user = userService.selectByPrimaryKey(1);10 long time=System.currentTimeMillis()-beginTime;11 return "Hello SpringBoot"+user.getName()+",消耗查詢時間:"+time;12 13 }14 15 16 }
- 第四步:在頁面輸入http://127.0.0.1:1111/hello,第一次可以看到通過查詢並延遲三秒
當第二次輸入後,該查詢會從Redis緩衝中擷取,所以時間沒有延遲三秒,並且非常迅速
從cmd中 該目錄下輸入 redis-cli get user得到:
說明該對象以存入Redis緩衝當中。
至此,SpringCloud+MyBats+Redis搭建成功!
SpringCloud+MyBatis+Redis整合—— 超詳細執行個體(二)