为了账号安全,请及时绑定邮箱和手机立即绑定

Maven构建SpringBoot+Redis(包括插入、查询)

标签:
Java Redis

最近工作需要使用springboot操作redis。

一脸懵逼,都不会啊。

从网上这块看看那块看看。有的不能运行。想了下,自己弄下吧    

从头开始,上图。

1、选择Spring Initializr, JDK选择1.8. 接着NEXT

https://img1.sycdn.imooc.com//5c9394130001970508420782.jpg

2、没什么说的,默认即可。如果有需要改名的可以改名。接着next

https://img1.sycdn.imooc.com//5c93947b000114cf08420782.jpg

3、选择web、Redis ,接下来next。(如果找不到,到搜索框中搜索即可)

https://img1.sycdn.imooc.com//5c9394d40001576108420782.jpg

4、接着next。然后稍稍等下,在下载相应的依赖jar包。

5、看下项目目录。主要是这几个。

https://img1.sycdn.imooc.com//5c9395c40001241404250460.jpg

6、接下来看下 pom.xml文件

<?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>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.3.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>demo</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>1.8</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>

7、接下来在application.properties文件中,配置redis的链接信息。

# REDIS Cluster (RedisProperties)
# Redis数据库索引(默认为0)
spring.redis.database=1
# Redis服务器地址
spring.redis.host=127.0.0.1
# Redis服务器连接端口
spring.redis.port=6379
# Redis服务器连接密码(默认为空)
spring.redis.password=
# 连接池最大连接数(使用负值表示没有限制)
spring.redis.pool.max-active=600
# 连接池最大阻塞等待时间(使用负值表示没有限制)
spring.redis.pool.max-wait=1000
# 连接池中的最大空闲连接
spring.redis.pool.max-idle=300
# 连接池中的最小空闲连接
spring.redis.pool.min-idle=100
# 连接超时时间(毫秒)
spring.redis.timeout=2500
time=5

8、接下来创建demo文件。文件中通过RedisTemplate类操作Redis。包括插入和查询String/map/list/set/zset。

上代码

package com.example.demo;

import java.util.*;
import javax.annotation.Resource;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.SetOperations;
import org.springframework.data.redis.core.ZSetOperations;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class Demo {
    @Resource
    private RedisTemplate<Object, Object> redisTemplate;

    /**
     * 设置保存string类型到redis
     */
    @RequestMapping(value = "/setAndGetString")
    public void setAndGetString(){

        redisTemplate.opsForValue().set("key1","1");
        redisTemplate.opsForValue().set("key2","2");
        redisTemplate.opsForValue().set("key3","3");

        System.out.println(redisTemplate.opsForValue().get("key1"));
    }

    /**
     * 设置保存map类型到redis
     */
    @RequestMapping(value = "setAndGetMap")
    public void setAndGetMap(){
        Map<String,Object> map = new HashMap<>();
        map.put("name","张三");
        map.put("age","18");
        map.put("gender","男");

        redisTemplate.opsForHash().putAll("userInfo",map);
        redisTemplate.opsForHash().put("userInfo","sel","111");

        System.out.println(redisTemplate.opsForHash().entries("userInfo"));
        System.out.println(redisTemplate.opsForHash().keys("userInfo"));
        System.out.println(redisTemplate.opsForHash().values("userInfo"));
        System.out.println(redisTemplate.opsForHash().get("userInfo","name"));
    }

    /**
     * 设置保存list类型到redis
     */
    @RequestMapping(value = "setAndGetList")
    public void setAndGetList(){

        List<String > list1 = new ArrayList<>();
        list1.add("hello1");
        list1.add("world1");

        List<String > list2 = new ArrayList<>();
        list2.add("hello2");
        list2.add("world2");

        redisTemplate.opsForList().leftPush("leftList",list1);
        redisTemplate.opsForList().rightPush("rightList",list2);
        System.out.println(redisTemplate.opsForList().leftPop("leftList"));
        System.out.println(redisTemplate.opsForList().rightPop("rightList"));
    }
    /**
     * 设置保存set类型到redis
     */
    @RequestMapping(value = "setAndGetSet")
    public void setAndGetSet(){

        SetOperations<Object, Object> set = redisTemplate.opsForSet();
        set.add("numberSet","1");
        set.add("numberSet","2");
        set.add("numberSet","3");
        Set<Object> resultSet =redisTemplate.opsForSet().members("numberSet");
        System.out.println("resultSet:"+resultSet);

    }


    /**
     * 设置保存set类型到redis
     */
    @RequestMapping(value = "setAndGetZSet")
    public void setAndGetZSet(){

        ZSetOperations<Object,Object> zSetOperations = redisTemplate.opsForZSet();
        zSetOperations.add("zSet","one",1);
        zSetOperations.add("zSet","two",2);
        zSetOperations.add("zSet","three",3);

        System.out.println(redisTemplate.opsForZSet().range("zSet",1,3));
        System.out.println(redisTemplate.opsForZSet().range("zSet",0,zSetOperations.size("zSet")));


    }
}

9、接下来验证下。下面的类中有main函数。只需要右键-》RUN就ok

https://img1.sycdn.imooc.com//5c93979500015e5211210413.jpg

10.输入地址。

https://img1.sycdn.imooc.com//5c9397fa00017bcb04490114.jpg

11.控制台打印。

https://img1.sycdn.imooc.com//5c93981c000156a703750088.jpg

12、睡觉~~

点击查看更多内容
3人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
1
获赞与收藏
6

关注作者,订阅最新文章

阅读免费教程

感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消