day16Redis数据库学习

在这里插入图片描述
修改数据库权限后,刷新权限语句

NoSQL数据库

NoSQL(Not only sql) 指非关系数据库, 一维数据库

Redis相关指令

启动自己配置好的配置文件
在这里插入图片描述

redis-server redis.conf

进入数据库
在这里插入图片描述

redis-cli -p 6379

停止数据库

redis-cli -p 6379 shutdown

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

Springboot整合redis

添加jar包

可以在创建springboot时,选择导入jar包

在这里插入图片描述

也可以手动导入jar包

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

创建配置文件

创建配置文件application.yml
默认使用lettuce代理来操作数据库

spring:
  data:
    redis:
      host: 192.168.126.130
      port: 6379
#springboot默认使用lettuce
#spring.data.redis.client-type=lettuce

编写测试类

RedisTemplate、StringRedisTemplate: 操作redis的工具类

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.redis.core.RedisTemplate;

@SpringBootTest
class Springboot6RedisApplicationTests {

    @Autowired
    private RedisTemplate<String,String> redisTemplate;

    @Test
    public void testRedis() {
        redisTemplate.opsForValue().set("name","Kasa");
        redisTemplate.opsForValue().set("name2","Lke");
        redisTemplate.opsForValue().set("name3","Annie");
        String name3 = redisTemplate.opsForValue().get("name3");
        System.out.println("name3 = " + name3);
    }

}

切换jedis

  • 先在redis jar包中排除lettuce
  • 然后在导入jedis包
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
    <exclusions>
        <exclusion>
            <groupId>io.lettuce</groupId>
            <artifactId>lettuce-core</artifactId>
        </exclusion>
    </exclusions>
</dependency>

<!--        切换 jedis 作为操作redis的底层客户端-->
<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
</dependency>

使用 RedisTemplate 操作数据库

SpringBoot整合RedisTemplate

导入jar包

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

测试方法

导入redisTemplate方法类
利用RedisTemplate存储<String,对象>数据, 因为一般情况下, Redis存储<String,String>对象, 需要把java转化为json对象进行存储
至此,类比其他类型, 可以使用自己想使用的各种类型去定义RedisTemplate

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.redis.core.RedisTemplate;

@SpringBootTest
import com.example.pojo.User;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.redis.core.RedisTemplate;

@SpringBootTest
public class springboots_redis2 {

    //但凡不是默认提供的类型,需要自己额外处理
    @Autowired
    private RedisTemplate<String ,Object> redisTemplate;

    @Test
    public void test01(){
        User user = new User(100, "erzi");
        redisTemplate.opsForValue().set("erzi",user);
        User user2 = (User) redisTemplate.opsForValue().get("erzi");
        System.out.println(user2);
    }
}

配置类

@Configuration
public class RedisConfig {

    //将对象转化为json对象
    @Bean
    public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
        RedisTemplate<Object, Object> template = new RedisTemplate<>();
        template.setConnectionFactory(redisConnectionFactory);
        //把对象转为json字符串的序列化工具
        template.setDefaultSerializer(new GenericJackson2JsonRedisSerializer());
        return template;
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值