十八 Springboot-集成redis

18.1 准备redis

18.1.1 是什么

​ 是一个key-vue的Nosql。

18.1.2 优势

  1. 开源免费

  2. 数据存储

    存放在内存,还支持持久化.-存取速度快,并发能力强,数据安全高

  3. 支持value类型更多

  4. 支持多个语言客户端

  5. 还支持集群(支持高并发,海量数据)

18.1.3 使用场景

  1. ​ 使用数据访问快特点

    缓存

  2. 过期时间

    短信验证码等

18.1.4 简单使用

​ 以windows为例进行简单使用

18.1.4.1 下载

​ https://github.com/microsoftarchive/redis/releases 进行下载

18.1.4.2 安装

​ 绿色软件解压就OK

image-20201227113601916

18.1.4.2 配置

​ redis.windows.conf中设置密码

image-20201227113712442

18.1.4.3 启动

​ 进入安装路径执行:redis-server.exe redis.windows.confi

18.1.4.4 测试

​ 客户端启动: redis-cli -h 1271.0.0.1 -p 6379

​ 授权 : auth admin

image-20201227113908576

18.2 springboot spring data redis

​ Spring data:spring对数据操作支持规范,但是我们的数据是多种类型,rdbms(msyql),redis(Nosql),es,mq

​ Spring data redis :spring操作redis

​ Spring data jpa :操作关系型数据库

​ 等等

​ Springboot Spring data redis:简化spirngdata对redis的配置

步骤分析:
1 准备一个springboot项目
2 在springboot中导入spring data redis的strarter
3 application.yml中进行配置
4 写代码测试

18.2.1 准备一个springboot项目

​ 略过

18.2.2 springboot中导入spring data redis的strarter

<!--spirngboot springdata对redis支持-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

18.2.3 application.yml中进行配置

# redis 属性信息
## redis数据库索引(默认为0)
spring.redis.database=0
## redis服务器地址
spring.redis.host=localhost
## redis服务器连接端口
spring.redis.port=6379
## redis服务器连接密码(默认为空)
spring.redis.password=admin
## 连接池最大连接数(使用负值表示没有限制)
spring.redis.jedis.pool.max-active=8
## 连接池中的最大空闲连接
spring.redis.jedis.pool.max-idle=8
## 连接池最大阻塞等待时间(使用负值表示没有限制)
spring.redis.jedis.pool.max-wait=-1ms
## 连接池中的最小空闲连接
spring.redis.jedis.pool.min-idle=0

18.2.4 写代码测试

import java.io.Serializable;

//需要实现Serializable,否则会报错Caused by: java.lang.IllegalArgumentException: DefaultSerializer requires a //Serializable payload but received an object of type [User]
public class BaseDomain implements Serializable {
    private Long id;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public BaseDomain(Long id) {
        this.id = id;
    }

    public BaseDomain() {
    }
}

//通过继承BaseDomain,进而实现Serializable
public class User extends BaseDomain {
    private String name;


    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + super.getId() +
                ", name='" + name + '\'' +
                '}';
    }

    public User() {
    }

    public User(Long id, String name) {
        super(id);
        this.name = name;
    }
}
@RunWith(SpringRunner.class)
@SpringBootTest(classes = App.class)
public class RedisTest {

    @Autowired
    private RedisTemplate redisTemplate;
    @Autowired
    private StringRedisTemplate template;
    @Test
    public void testStr() throws Exception{
        template.opsForValue().set("yhptest","yhptsetnmfjfjfj");
        String str = template.opsForValue().get("yhptest");
        System.out.println(str);
    }
    @Test
    public void testObj() throws Exception{
        redisTemplate.opsForValue().set("user",new User(1L,"zs"));
        User user = (User) redisTemplate.opsForValue().get("user");
        System.out.println(user);
    }

18.3 小结

​ 本章节讲解了springboot通过spring data redis完成了对redis的操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值