从零开始学SpringBoot2.x(14-SpringBoot中操作Redis基本示例)

这阵子没有好好写博客咯!一定要好好坚持下去!

好了,废话不多说,今天我与大家分享一下在SpringBoot中如果简单的操作redis数据库。

redis相信大家都不陌生,工作中也经常会用到,在这里我就不过多去说redis的概念了。

 

开lululu~

 

1、添加依赖:

<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-test</artifactId>
        </dependency>
    </dependencies>

 

   

2、创建操作redis的类,如下:

package com.xiao.redis;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Component;

/**
 * @Description redis
 * @Auther: 笑笑是一个码农
 * @Date: 16:24 2020/3/21
 */
@Component
public class RedisTest {

    @Autowired
    private StringRedisTemplate stringRedisTemplate;

    /**
     * 设置指定key对应的String类型的值
     * @param k
     * @param v
     */
    public void setString(String k, String v){
        stringRedisTemplate.opsForValue().set(k, v);
    }

    /**
     * 通过key获取指定的String类型的值
     * @param k
     * @return
     */
    public String getString(String k){
        return stringRedisTemplate.opsForValue().get(k);
    }
}

 

redis有很多种数据类型,其中string类型是我们在工作中比较常用的,所以springboot默认为我们提供了一个的StringRedisTemplate。 

 

当然springboot给我们提供的功能远不只此,在今后的文章中,我会慢慢的与大家一同进行深入的学习。

 

3、核心配置文件:

# 这些都是默认配置,如果只需要使用默认配置,不需要在配置文件中写
spring:
  redis:
    database: 0
    host: 127.0.0.1

4、测试类:

package com.xiao.redis;

import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.test.context.junit4.SpringRunner;
import static org.junit.Assert.*;

@RunWith(SpringRunner.class)
@SpringBootApplication
public class RedisTestTest {

    @Autowired
    private RedisTest redisTest;

    @Test
    public void setString() {
        redisTest.setString("mykey", "笑笑");
    }

    @Test
    public void getString() {
        String mykey = redisTest.getString("mykey");
        Assert.assertNotNull(mykey);
        System.out.println(mykey);
    }
}

5、最终的工程目录如下

 

 

6、运行测试类,可以看到控制台会输出我们设置的key对应的value:

 

 

7、我们也可以使用redis的连接工具进行查看,如下:

 

 

是不是超级方便呢!

 

源码链接:

https://github.com/devilyang123/SpringBoot-Learning/tree/master/springboot-redis

 

 

 


欢迎关注我的个人公众号“笑笑是一个码农”,第一时间获取最新文章。

您的关注,就是支持我持续写作的最大动力!

还可以免费领取前后端全站学习视频资料呦~

个人微信号,如需添加微信,请备注来源,因为妈妈从小就告诉我不要随便跟陌生人聊天!(嘿嘿~)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot使用Spring Data Redis进行Redis Geo操作,需要在pom.xml文件添加以下依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.6.0</version> </dependency> ``` 然后在application.properties文件配置Redis相关信息: ```properties # Redis spring.redis.host=localhost spring.redis.port=6379 spring.redis.password= ``` 接下来,我们需要创建一个RedisGeoService来进行Geo操作: ```java @Service public class RedisGeoService { private final RedisTemplate<String, String> redisTemplate; public RedisGeoService(RedisTemplate<String, String> redisTemplate) { this.redisTemplate = redisTemplate; } /** * 添加地理位置信息 * * @param key 键 * @param longitude 经度 * @param latitude 纬度 * @param member 成员 * @return Long */ public Long add(String key, double longitude, double latitude, String member) { Point point = new Point(longitude, latitude); return redisTemplate.opsForGeo().add(key, point, member); } /** * 获取两个地理位置的距离 * * @param key 键 * @param member1 成员1 * @param member2 成员2 * @param unit 距离单位 * @return Distance */ public Distance distance(String key, String member1, String member2, Metric unit) { return redisTemplate.opsForGeo().distance(key, member1, member2, unit); } /** * 获取指定成员的地理位置 * * @param key 键 * @param members 成员 * @return List<Point> */ public List<Point> position(String key, String... members) { return redisTemplate.opsForGeo().position(key, members); } /** * 获取指定地理位置附近的成员 * * @param key 键 * @param longitude 经度 * @param latitude 纬度 * @param radius 半径 * @param unit 距离单位 * @return GeoResults<GeoLocation<String>> */ public GeoResults<GeoLocation<String>> nearBy(String key, double longitude, double latitude, double radius, Metric unit) { Circle circle = new Circle(longitude, latitude, new Distance(radius, unit)); GeoRadiusCommandArgs args = GeoRadiusCommandArgs.newGeoRadiusArgs().sortAscending(); return redisTemplate.opsForGeo().radius(key, circle, args); } } ``` 上述代码,我们使用了RedisTemplate来进行Redis操作RedisTemplate是Spring Data Redis提供的核心组件,用于执行Redis命令。 在RedisGeoService,我们定义了四个方法来进行Geo操作: - add方法:添加地理位置信息。 - distance方法:获取两个地理位置的距离。 - position方法:获取指定成员的地理位置。 - nearBy方法:获取指定地理位置附近的成员。 使用Spring BootSpring Data Redis进行Geo操作非常方便,只需要定义一个RedisGeoService,并注入RedisTemplate即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值