啥是Redis之整合springBoot

大家好,我是游云968,之前我们说过redis的安装及一些基本的常识,今天我们来讲下redis在springBoot中的使用;

首先我们来看下如何配置

在这里插入图片描述

简单解释下:host - 端口号password - 密码(默认为空,如有需要可以去redis.windows.conf 文件中配置 requirepass 123456 - 这里表示设置redis密码为123456)database - redis可用数据库数,由于各业务场景需要分开存储,默认从第0个开始,共16个,默认配置数据库为0,这里配置使用数据库1。(个数也是可以通过修改redis.windows.conf文件中的databases选项进行自定义个数)

redis可视化软件

treeNMS - 下载地址解压版,按照内置教程无脑启动后如下,点击右上角设置redis具体地址后可以查看各个库中的具体数据,具体功能下载完可以自行查看。

在这里插入图片描述

pom文件配置 - (在springboot的基础上加上如下配置)

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

代码

这里用的是 redisTemplate,只是简单的列举了几个String类型的常用的方法。

@Service
@Slf4j
public class RedisUtil {
    @Autowired
    private RedisTemplate redisTemplate;

    /**
     * 放入String类型
     * @param key
     * @param value
     * @return
     */
    public boolean set(final String key, Object value) {
        boolean result = false;
        try {
            ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue();
            operations.set(key, value);
            result = true;
        } catch (Exception e) {
            log.error("保存出错: key {}, value {}",key,value,e);
        }
        return result;
    }

    /**
     * 指定超时时间
     * @param key
     * @param value
     * @param expireTime
     * @return
     */
    public boolean set(final String key, Object value, Long expireTime) {
        boolean result = false;
        try {
            ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue();
            operations.set(key, value);
            redisTemplate.expire(key, expireTime, TimeUnit.SECONDS);
            result = true;
        } catch (Exception e) {
            log.error("保存出错: key {}, value {},expireTime {}",key,value,expireTime,e);
        }
        return result;
    }
    /**
     * 取出
     * @param key
     * @return
     */
    public Object get(final String key) {
        Object result;
        ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue();
        result = operations.get(key);
        return result;
    }

    /**
     * 是否存在key
     * @param key
     * @return
     */
    public boolean exists(final String key) {
        return redisTemplate.hasKey(key);
    }

    /**
     * 包含 pattern 的值
     * @param pattern
     * @return
     */
    public Object getByPattern (final String pattern){
        Set<Serializable> keys = redisTemplate.keys(pattern + "*");
        return keys;
    }

    /**
     * remove single key
     * @param key
     */
    public void remove(final String key) {
        if (exists(key)) {
            redisTemplate.delete(key);
        }
    }

测试代码 分别写几个uri来简单的测试下

@RestController
public class RedisController {
    @Autowired
    RedisUtil redisUtil;

    @PutMapping(value = "/setValue")
    public String setValue(){
        redisUtil.set("001", "hello world!");
        return "执行成功";
    }

    @GetMapping(value = "/getValue")
    public String getValue(){
        return (String) redisUtil.get("001");
    }

    @GetMapping(value = "/existsValue")
    public Boolean existsValue(){
        return redisUtil.exists("001");
    }

    @DeleteMapping(value = "/removeValue")
    public String removeValue(){
        redisUtil.remove("001");
        return"删除成功";
    }
}

启动项目,分别访问对应的url,在treeNMS中可以查看到redis数据库中的变化

在这里插入图片描述

好的,就先这样,下期讲什么,我还没想好

在这里插入图片描述

喜欢请关注我,谢谢

在这里插入图片描述

Redis Hash 结构是一种数据结构,它允许你将键值对存储为哈希表的形式,其中每个键都是唯一的,并且可以关联任意类型的数据(包括字符串、列表、集合或有序集合)。在 Spring Boot 中整合 Redis,你可以使用 Spring Data Redis 库,它简化了与 Redis 的交互。 Spring Boot 整合 Redis 的步骤如下: 1. 添加依赖:在你的 `pom.xml` 或 `build.gradle` 文件中添加 Spring Data Redis 和相关 Redis客户端库的依赖,如 lettuce 或 Jedis。 ```xml <!-- Maven --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <!-- Gradle (Lettuce) --> implementation 'org.springframework.boot:spring-boot-starter-data-redis:2.5.x' implementation 'io.lettuce:lettuce-core:6.0.x' ``` 2. 配置 Redis:在 `application.properties` 或 `application.yml` 中配置 Redis 的连接信息,如主机名、端口和密码(如果有)。 ```yaml spring.redis.host=your-redis-host spring.redis.port=your-redis-port spring.redis.password=your-password ``` 3. 使用 `HashOperations`:Spring Data Redis 提供了 `HashOperations` 接口,你可以通过注入 `RedisTemplate` 或 `HashOperations` 对象来操作 Redis 的 Hash 结构。 ```java @Autowired private RedisTemplate<String, Object> redisTemplate; // 使用方法 HashOperations<String, String, Object> hashOps = redisTemplate.opsForHash("your-hash-key"); hashOps.put("field1", "value1"); hashOps.get("field1"); // 获取 value1 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值