Spring Boot 学习笔记--整合Redis
来源:互联网 发布:linux arp缓存时间 编辑:程序博客网 时间:2024/05/29 02:35
本篇博客转载于http://www.cnblogs.com/floay/p/6485742.html,经实验运行成功,作者写作思路清晰,非常棒,转载下做为笔记。
1.新建Spring Boot项目
添加spring-boot-starter-data-redis依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></dependency>
本文会根据StringRedisTemplate、RedisTemplate这两个模板来介绍,其中StringRedisTemplate继承自RedisTemplate,只能操作键值都是String类型的数据。在实际开发中建议使用RedisTemplate<K,V>。
查询源码可知RedisTemplate默认使用JdkSerializationRedisSerializer序列化,而StringRedisTemplate则使用StringRedisSerializer。
2.配置redis
在application.properties中配置如下:
1 ######################################################## 2 ###Redis (RedisConfiguration) 3 ######################################################## 4 spring.redis.database=1 5 spring.redis.host=127.0.0.1 6 spring.redis.port=6379 7 spring.redis.password= 8 spring.redis.pool.max-idle=8 9 spring.redis.pool.min-idle=010 spring.redis.pool.max-active=811 spring.redis.pool.max-wait=-112 spring.redis.timeout=5000
3.编写代码
1.创建model
1 package com.haq.entity; 2 3 import java.io.Serializable; 4 5 /** 6 * Created by on 2017/2/24. 7 */ 8 public class User implements Serializable { 9 10 private static final long serialVersionUId = 1L;11 12 private String id;13 private String name;14 15 public User(){16 super();17 }18 19 public String getId() {20 return id;21 }22 23 public void setId(String id) {24 this.id = id;25 }26 27 public String getName() {28 return name;29 }30 31 public void setName(String name) {32 this.name = name;33 }34 35 @Override36 public String toString() {37 return "User{" +38 "id='" + id + '\'' +39 ", name='" + name + '\'' +40 '}';41 }42 }
2.创建RedisService
1 package com.haq.common.redis; 2 3 import org.springframework.beans.factory.annotation.Autowired; 4 import org.springframework.data.redis.core.RedisTemplate; 5 import org.springframework.data.redis.core.StringRedisTemplate; 6 import org.springframework.data.redis.core.ValueOperations; 7 import org.springframework.stereotype.Service; 8 9 import javax.annotation.Resource;10 11 /**12 * Created by on 2017/3/1.13 */14 @Service15 public class RedisService {16 17 @Autowired18 StringRedisTemplate stringRedisTemplate;19 20 21 @Resource(name = "stringRedisTemplate")22 ValueOperations<String, String> valOpsStr;23 24 @Autowired25 RedisTemplate<Object, Object> redisTemplate;26 27 @Resource(name = "redisTemplate")28 ValueOperations<Object, Object> valOpsObj;29 30 /**31 * 根据指定key获取String32 * @param key33 * @return34 */35 public String getStr(String key){36 return valOpsStr.get(key);37 }38 39 /**40 * 设置Str缓存41 * @param key42 * @param val43 */44 public void setStr(String key, String val){45 valOpsStr.set(key,val);46 }47 48 /**49 * 删除指定key50 * @param key51 */52 public void del(String key){53 stringRedisTemplate.delete(key);54 }55 56 /**57 * 根据指定o获取Object58 * @param o59 * @return60 */61 public Object getObj(Object o){62 return valOpsObj.get(o);63 }64 65 /**66 * 设置obj缓存67 * @param o168 * @param o269 */70 public void setObj(Object o1, Object o2){71 valOpsObj.set(o1, o2);72 }73 74 /**75 * 删除Obj缓存76 * @param o77 */78 public void delObj(Object o){79 redisTemplate.delete(o);80 }81 82 }
3.创建RedisController
1 package com.haq.web; 2 3 import com.haq.common.redis.RedisService; 4 import com.haq.entity.User; 5 import org.springframework.beans.factory.annotation.Autowired; 6 import org.springframework.web.bind.annotation.RequestMapping; 7 import org.springframework.web.bind.annotation.RestController; 8 9 /** 10 * Created by on 2017/3/1. 11 */ 12 @RestController 13 @RequestMapping("/redis") 14 public class RedisController { 15 16 @Autowired 17 RedisService redisService; 18 19 /** 20 * 设置Str缓存 21 * @param key 22 * @param val 23 * @return 24 */ 25 @RequestMapping(value = "setStr") 26 public String setStr(String key, String val){ 27 try { 28 redisService.setStr(key, val); 29 return "success"; 30 } catch (Exception e){ 31 e.printStackTrace(); 32 return "error"; 33 } 34 } 35 36 /** 37 * 根据key查询Str缓存 38 * @param key 39 * @return 40 */ 41 @RequestMapping(value = "getStr") 42 public String getStr(String key){ 43 return redisService.getStr(key); 44 } 45 46 47 /** 48 * 根据key产出Str缓存 49 * @param key 50 * @return 51 */ 52 @RequestMapping(value = "delStr") 53 public String delStr(String key){ 54 try { 55 redisService.del(key); 56 return "success"; 57 } catch (Exception e){ 58 return "error"; 59 } 60 } 61 62 63 /** 64 * 设置obj缓存 65 * @param key 66 * @param user 67 * @return 68 */ 69 @RequestMapping(value = "setObj") 70 public String setObj(String key, User user){ 71 try { 72 redisService.setObj(key, user); 73 return "success"; 74 } catch (Exception e){ 75 e.printStackTrace(); 76 return "error"; 77 } 78 } 79 80 /** 81 * 获取obj缓存 82 * @param key 83 * @return 84 */ 85 @RequestMapping(value = "getObj") 86 public Object getObj(String key){ 87 return redisService.getObj(key); 88 } 89 90 91 /** 92 * 删除obj缓存 93 * @param key 94 * @return 95 */ 96 @RequestMapping(value = "delObj") 97 public Object delObj(String key){ 98 try { 99 redisService.delObj(key);100 return "success";101 } catch (Exception e){102 e.printStackTrace();103 return "error";104 }105 }106 107 }
4.运行测试
1.StringRedisTemplate
http://127.0.0.1:8080/redis/setStr?key=aa&val=name
http://127.0.0.1:8080/redis/getStr?key=aa
http://127.0.0.1:8080/redis/delStr?key=aa
2.RedisTemplate
http://127.0.0.1:8080/redis/setObj?key=aa&id=1&name=test
http://127.0.0.1:8080/redis/getObj?key=aa
http://127.0.0.1:8080/redis/delObj?key=aa
以上地址都能通过测试,在这里就不一一截图了
后记
可以直接使用redistemplate来保存string类型,不过使用redis client看起来就不太直观,因为JdkSerializationRedisSerializer是使用二进制形式存储数据。
最后希望大家有问题能多多指教,O(∩_∩)O谢谢
作者: 采采灬卷耳
<http://www.cnblogs.com/floay/>
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接 如有问题, 欢迎咨询。
- Spring Boot 学习笔记--整合Redis
- spring boot整合redis
- spring boot 整合 redis
- spring boot整合redis
- Spring Boot整合Redis
- spring boot redis整合
- Redis学习(3.1)spring boot整合Redis速成
- (三) Spring Boot学习笔记之Spring Boot整合Logback
- spring-boot-starter-redis学习笔记
- spring-boot整合redis 总结
- (七)Spring Boot 整合Redis
- spring boot shiro redis整合
- redis整合spring配置--学习笔记
- spring boot学习4之mybatis+redis缓存整合
- spring boot中spring cache 整合redis
- Spring boot 和 mybatis 学习笔记1--框架整合
- Spring-Boot学习笔记-整合Mybatis-Druid-PageHelper
- Spring Boot学习笔记-整合Jsp (二)
- 手把手教你vuex写个简单的购物车DEMO
- First CSND
- Liferay7开发环境搭建
- 设计模式-简单工厂模式
- CWX581S语音芯片使用新得
- Spring Boot 学习笔记--整合Redis
- 8. Python脚本学习笔记八个别细节一
- 不吉利的日期
- 102页第八题。每个苹果0.8元,第一天买两个,从第二天开始每天买的数量是前一天的2倍,直到当天购买苹果数量超过100,问每天平均花多少钱。
- WinDbg学习
- 9. Python脚本学习笔记九条件语句
- 树莓派上创建个人用户
- 菜鸟搭建ubuntu 16.04下java运行环境
- 10. Python脚本学习笔记十循环语句