目录
Redis到底是什么?
Redis是一种基于内存进行存储,支持Key-Value格式的开源存储系统,是跨平台的非关系型数据库,是主流nosql中的一种。底层使用C语言编写, Redis因其丰富的数据结构、极快的速度、齐全的功能而为人所知,在互联网上有非常广泛的应用。
Redis环境搭建
因为本人习惯使用windows作为开发环境,在家的时候无法使用公司的Linux系统服务器,所以就将Redis直接安装在本机。
1、下载
可在Redis官网(redis.io)上进行下载,windows版本也可在我分享的盘中下载 Redis-x64-5.0.10 码为:qing
2、将下载我压缩文件解压。
3、运行CMD
4、进入到解压文件夹中,启动Redis-server
启动命令为:
redis-server.exe redis.windows.conf
5、重开一个cmd,进入Redis解压目录,启动客户端管理窗口,在此窗口可操作Redis数据库。
启动Redis客户端命令为:
redis-cli.exe
6、对Redis数据进行操作
添加/修改数据
set key value
set name qinguang
根据Key获取数据
get key
get name
根据Key删除数据
del key
del name
查询Redis中的key
keys [string]*[string]
查询redis中的key可以使用关键字
关闭Redis服务
shutdown
Spring Boot整合Redis
使用Spring Data Redis操作Redis。
1、创建Maven工程。
pom配置信息
<!--Spring Boot父依赖-->
<parent>
<artifactId>spring-boot-starter-parent</artifactId>
<groupId>org.springframework.boot</groupId>
<version>2.1.5.RELEASE</version>
</parent>
<dependencies>
<!--Spring Boot web组件-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--整合Redis使用的Spring Data redis组件-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!--客户端连接池组件-->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
</dependency>
<!--减少实体类开发引入的lombok组件-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
</dependencies>
2、创建实体类
在右侧mian/java目录下创建包(com.qinguang.entity),在包下创建Book类,该类需要实现序列化接口,否则无法存入Redis数据库。
package com.qinguang.entity;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
@Data
public class Book implements Serializable {
private Integer id;
private String name;
private String isbn;
private BigDecimal price;
private Date create_time;
}
3、创建控制器
在右侧mian/java目录下创建包(com.qinguang.controller),在该包下创建BookHandler控制器。
package com.qinguang.controller;
import com.qinguang.entity.Book;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.*;
@RestController
public class StudentHandler {
@Autowired
private RedisTemplate redisTemplate;
//添加/修改Redis数据
@PostMapping("/set")
public void set(@RequestBody Book book){
redisTemplate.opsForValue().set("book",book);
}
/**
* 根据key获取Redis中的对象
* @param key
* @return
*/
@GetMapping("/get/{key}")
public Book get(@PathVariable("key") String key){
return (Book)redisTemplate.opsForValue().get(key);
}
/**
* 根据key删除Redis中的对象
* @param key
* @return
*/
@DeleteMapping("/delete/{key}")
public boolean delete(@PathVariable("key") String key){
redisTemplate.delete(key);
return redisTemplate.hasKey(key);
}
}
4、创建配置文件application.yaml
spring:
redis:
database: 0
host: localhost
port: 6379
5、创建启动类 Application
package com.qinguang;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class,args);
}
}
6、使用postman测试数据CRUD
代码编写完成后,层级如下:
1)先运行java程序
2)打开postman,提交数据
3)获取数据
4)删除数据
具体数据变更情况,可每次操作后使用redis-cli客户端查看数据库。
注意:因为序列化的原因,记录在Redis中的key会有前缀。
至此,Redis整合完成。