一起学习Spring boot 2.1.X | 第二十篇:Redis

Windows:

下载地址:Redis

Redis 支持 32 位和 64 位。这个需要根据你系统平台的实际情况选择,这里我们下载Redis-x64-xxx.zip压缩包到 C 盘,解压后,将文件夹重新命名为 Redis。

1.pom.xml

<!-- 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>

2.application

# Redis Setting
# 服务器IP
spring.redis.host=192.168.0.134
# 端口号
spring.redis.port=6379
# 数据库索引,默认为0
spring.redis.database=0
# 连接密码,默认为空
spring.redis.password=
# Redis连接池配置
# 连接池最大连接数,使用负值表示没有限制
spring.redis.lettuce.pool.max-active=8
# 连接池最大阻塞等待时间,使用负值表示没有限制
spring.redis.lettuce.pool.max-wait=-1ms
# 连接池中的最大空闲连接
spring.redis.lettuce.pool.max-idle=8
# 连接池中的最小空闲连接
spring.redis.lettuce.pool.min-idle=0
# 空闲链接检测线程检测周期;如果为负值,表示不运行检测线程;单位毫秒,默认为-1
spring.redis.lettuce.pool.time-between-eviction-runs=60000
# 关闭超时时间
spring.redis.lettuce.shutdown-timeout=3000ms

3.RedisUtil

package com.hzhl.client.view.utils;

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

import java.util.Set;
import java.util.concurrent.TimeUnit;

/**
 * Redis工具类
 *
 * @author 花学长
 */
@Component
public class RedisUtil {

    @Autowired
    private StringRedisTemplate redisTemplate;


     // 天:DAYS   小时:HOURS    分:MINUTES   秒:SECONDS   毫秒:MILLISECONDS

    /**
     * 实现命令:TTL key,以秒为单位,返回给定 key的剩余生存时间(TTL, time to live)。
     *
     * @param key
     * @return
     */
    public long ttl(String key) {
        return redisTemplate.getExpire(key);
    }

    /**
     * 实现命令:expire 设置过期时间,单位:分
     *
     * @param key
     * @param timeout
     * @return
     */
    public void expire(String key, long timeout) {
        redisTemplate.expire(key, timeout, TimeUnit.MINUTES);
    }

    /**
     * 实现命令:INCR key,增加key一次
     *
     * @param key
     * @return
     */
    public long incr(String key, long delta) {
        return redisTemplate.opsForValue().increment(key, delta);
    }

    /**
     * 实现命令:KEYS pattern,查找所有符合给定模式 pattern的 key
     */
    public Set<String> keys(String pattern) {
        return redisTemplate.keys(pattern);
    }

    /**
     * 实现命令:ins key, key设置内容
     *
     * @param key
     * @param value
     */
    public void ins(String key, String value) {
        redisTemplate.opsForValue().set(key,value);
    }

    /**
     * 实现命令:inst key, key设置时间:分和内容
     *
     * @param key
     * @param value
     * @param time
     * @return
     */
    public void inst(String key, String value ,long time) {
        redisTemplate.opsForValue().set(key,value,time,TimeUnit.MINUTES);
    }

    /**
     * 实现命令:DEL key,删除一个key
     *
     * @param key
     */
    public Boolean del(String key) {
        return redisTemplate.delete(key);
    }

    /**
     * 实现命令:UPD key, 更新内容
     *
     * @param key
     * @param value
     * @return
     */
    public String upd(String key, String value) {
        return redisTemplate.opsForValue().getAndSet(key, value);
    }

    /**
     * 实现命令:GET key,返回 key所关联的字符串值。
     *
     * @param key
     */
    public String get(String key) {
        return redisTemplate.opsForValue().get(key);
    }

}

4.TestController

@Autowired
private StringRedisTemplate stringRedisTemplate;

@Autowired
private RedisUtil redisUtil;

@RequestMapping("/redis")
 public String redis() {
    // 保存字符串
    stringRedisTemplate.opsForValue().set("aaa", "111");
    String string = stringRedisTemplate.opsForValue().get("aaa");
    System.out.println(string);
    redisUtil.insert("aaa", "111");
    System.out.println(redisUtil.select("aaa"));
    return "Redis";
}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值