# springboot整合redis

# Redis5中数据类型

# 字符串

    @GetMapping("/string")
    public String stringTest() {
        //存string类型
        redisTemplate.opsForValue().set("str", "hello word");
        return (String) redisTemplate.opsForValue().get("str");
    }
1
2
3
4
5
6

对应redis操作 1648444566180.png

# 列表

    @GetMapping("/list")
    public List<String> listTest() {
        ListOperations<String, String> listOperations = redisTemplate.opsForList();
        listOperations.leftPush("list", "Hello");
        listOperations.leftPush("list", "world");
        listOperations.leftPush("list", "java");
        List<String> students= listOperations.range("list", 0, 10);
        return students;
    }
1
2
3
4
5
6
7
8
9

对应redis操作 1648444836534.png

# 集合

   @GetMapping("/set")
    public Set<String> setTest() {
        SetOperations setOperations = redisTemplate.opsForSet();
        setOperations.add("set", "Hello");
        setOperations.add("set", "Hello");
        setOperations.add("set", "world");
        setOperations.add("set","java");
        return setOperations.members("set");
    }
1
2
3
4
5
6
7
8
9

对应redis操作 1648444974907.png

# 有序集合

    @GetMapping("/zset")
    public Set<String> zsetTest() {
        ZSetOperations zSetOperations = redisTemplate.opsForZSet();
        zSetOperations.add("zset", "world", 4);
        zSetOperations.add("zset", "hello", 1);
        zSetOperations.add("zset", "java", 5);
        return zSetOperations.range("zset", 0, 10);
    }
1
2
3
4
5
6
7
8

对应redis操作 1648445727465.png

# 哈希

    /**
     * HashMap key value
     * HashOperations key hashkey value
     * key是每一组数据的ID,hashkey和value是一组完整的HashMap数据,通过key来区分不同的HashMap。
     */
    @GetMapping("/hash")
    public String hashTest() {
        HashMap<String, String> a = new HashMap<>();
        a.put("name", "warren");
        HashMap<String, String> a1 = new HashMap<>();
        a1.put("name1", "warren1");
        HashMap<String, String> a2 = new HashMap<>();
        a2.put("name2", "warren2");
        HashOperations hashOperations = redisTemplate.opsForHash();
        hashOperations.put("hash1", "name", "warren");
        hashOperations.put("hash1", "name1", "warren1");
        String value = (String) hashOperations.get("hash1", "name");
        return value;
    }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

在redis中的操作 1648445865230.png

# springboot整合redis

# 引入jar包

		<!--整合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>
1
2
3
4
5
6
7
8
9
10

# 配置redis中的信息

spring
  redis: #redis配置
    database: 0
    host: 127.0.0.1
    port: 6379
1
2
3
4
5

# 使用

@RestController
@RequestMapping("student")
public class StudentController {
    @Autowired
    private RedisTemplate redisTemplate;

    @PostMapping("set")
    public void set(@RequestBody Student student) {
        redisTemplate.opsForValue().set("student", student);
    }
}
1
2
3
4
5
6
7
8
9
10
11

# 相关资料

redis数据类型 (opens new window)

全量分析

评 论:

上次更新时间: 3/28/2022, 2:20:15 PM