目录
1.在pom.xml文件导入Spring Data Redis的maven坐标
Redis
Redis简介
Redis是一个基于内存的key-value结构数据库
- 基于内存存储,读写性能高
- 适合存储热点数据(热点商品,资讯,新闻)
- 企业应用广泛
基于Redis超高的读写性能,可以认为Redis是对传统数据库的一个扩充。
Redis安装
启动服务端
启动客户端
注意!启动客户端时,服务端的界面是不能关闭的
Ctrl+C可以关闭服务端
Value基本数据类型
常用命令
字符串操作命令
哈希操作命令
列表操作命令
集合操作命令
有序集合命令
通用命令
在java中配置Redis
1.在pom.xml文件导入Spring Data Redis的maven坐标
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
2.配置Redis数据源
3.编写配置类,创建Redis Template对象
@Configuration
@Slf4j
public class RedisConfiguration {
@Bean
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
//设置Redis连接工厂对象
RedisTemplate redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(redisConnectionFactory);
//设置KEY的序列化器
redisTemplate.setKeySerializer(new StringRedisSerializer());
return redisTemplate;
}
}
4.通过Redis Template对象操作Redis
@SpringBootTest
public class SpringDataRedisTest {
@Autowired
private RedisTemplate redisTemplate;
@Test
public void testRedisTemplate() {
System.out.println(redisTemplate);
}
@Test
public void testStringRedisTemplate() {
ValueOperations valueOperations = redisTemplate.opsForValue();
valueOperations.set("city", "北京");
String city = (String) valueOperations.get("city");
System.out.println(city);
}
}
注意:这里的测试要通过的话,Redis的服务端需要在本地启动
应用实例:店铺营业状态设置
产品原型
接口设计
1.设置营业状态
2.管理端查询状态
3.用户端查询状态
代码实现
@RestController("adminShopController")//可以用于区分同类名的controller
@RequestMapping("/admin/shop")
@Api(tags="商家营业状态")
@Slf4j
public class shopController {
@Autowired
private RedisTemplate redisTemplate;
@PutMapping("/{status}")
@ApiOperation("设置营业状态")
public Result setStatus(@PathVariable Integer status){
log.info("商家营业状态为{}",status==1?"营业中":"打烊了");
redisTemplate.opsForValue().set("status",status);
return Result.success();
}
@GetMapping("/status")
@ApiOperation("获取营业状态")
public Result<Integer> getStatus(){
Integer status = (Integer) redisTemplate.opsForValue().get("status");
return Result.success(status);
}
}