这两天的CSDN的博客编辑器有毒.......格式稀巴烂...
1.创建springboot.pom文件如下:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.example</groupId> <artifactId>demo</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>demo</name> <description>Demo project for Spring Boot</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.10.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.7</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
2.application.properties 中添加Redis的配置
# REDIS (RedisProperties) # Redis数据库索引(默认为0) spring.redis.database=0 # Redis服务器地址 spring.redis.host=127.0.0.1 # Redis服务器连接端口 spring.redis.port=6379 # Redis服务器连接密码(默认为空) spring.redis.password= # 连接池最大连接数(使用负值表示没有限制) spring.redis.pool.max-active=8 # 连接池最大阻塞等待时间(使用负值表示没有限制) spring.redis.pool.max-wait=-1 # 连接池中的最大空闲连接 spring.redis.pool.max-idle=8 # 连接池中的最小空闲连接 spring.redis.pool.min-idle=0 # 连接超时时间(毫秒) spring.redis.timeout=0
3.写Redis的配置文件
@Configuration @EnableAutoConfiguration public class RedisConfig { @Bean @ConfigurationProperties(prefix="spring.redis") public JedisPoolConfig getRedisConfig(){ JedisPoolConfig config = new JedisPoolConfig(); return config; } @Bean @ConfigurationProperties(prefix="spring.redis") public JedisConnectionFactory getConnectionFactory(){ JedisConnectionFactory factory = new JedisConnectionFactory(); JedisPoolConfig config = getRedisConfig(); factory.setPoolConfig(config); return factory; } @Bean public RedisTemplate<?, ?> getRedisTemplate(){ RedisTemplate<?,?> template = new StringRedisTemplate(getConnectionFactory()); return template; } }
4.写Service层
@Service public class RedisService { @Autowired StringRedisTemplate stringRedisTemplate; @Autowired RedisTemplate<Object, Object> redisTemplate; /** * 根据指定key获取String * @param key * @return */ public Object getStr(String key){ ValueOperations<Object, Object> ops = redisTemplate.opsForValue(); return ops.get(key); } /** * 设置Str缓存 * @param key * @param val */ public void setStr(String key, String val){ ValueOperations<Object, Object> ops = redisTemplate.opsForValue(); ops.set(key,val); } /** * 删除指定key * @param key */ public void del(String key){ stringRedisTemplate.delete(key); } /** * 根据指定o获取Object * @param o * @return */ public Object getObj(Object o){ ValueOperations<Object, Object> ops = redisTemplate.opsForValue(); return ops.get(o); } /** * 设置obj缓存 * @param o1 * @param o2 */ public void setObj(Object o1, Object o2){ ValueOperations<Object, Object> ops = redisTemplate.opsForValue(); ops.set(o1, o2); } /** * 删除Obj缓存 * @param o */ public void delObj(Object o){ redisTemplate.delete(o); } /** * 获取所有的keys * @return */ public Set<Object> getKeys(){ Set<Object> keys = redisTemplate.keys("*"); System.out.println(keys); return keys; } }
5.写controller层
/** * Created by on 2017/3/1. */ @RestController @RequestMapping("/redis") public class RedisController { @Autowired RedisService redisService; /** * 设置Str缓存 * * @param key * @param val * @return */ @RequestMapping(value = "setStr") public String setStr(@RequestParam("key") String key, @RequestParam("val") String val) { redisService.setStr(key, val); Set<Object> keys = redisService.getKeys(); return keys.toString(); } /** * 根据key查询Str缓存 * * @param key * @return */ @RequestMapping(value = "getStr") public Object getStr(String key) { return redisService.getStr(key); } /** * 根据key产出Str缓存 * * @param key * @return */ @RequestMapping(value = "delStr") public String delStr(String key) { redisService.del(key); return "success"; } /** * 设置obj缓存 * * @param key * @param user * @return */ @RequestMapping(value = "setObj") public String setObj(String key, User user) { redisService.setObj(key, user); Set<Object> keys = redisService.getKeys(); return keys.toString(); } /** * 获取obj缓存 * * @param key * @return */ @RequestMapping(value = "getObj") public Object getObj(String key) { return redisService.getObj(key); } /** * 删除obj缓存 * * @param key * @return */ @RequestMapping(value = "delObj") public Object delObj(String key) { redisService.delObj(key); return "success"; } }
6.实体类
public class User implements Serializable { private static final long serialVersionUId = 1L; private String id; private String name;//中间的省略
}
7.运行main函数
@SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }
开始进行访问测试:
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
还有2天放假,回家看小可爱去喽