直接拿下Redis --基础篇

Redis概念

1,Redis  ---->”基于键值型”的”单线程”的”NoSql”数据库(以”键值对”存储,无约束)

9114549a8bd1409e89bc1fd73115d4e1.jpg

47feb08a226648339aa852ebebd8670e.jpg

Redis命令

5fb7132545c3462092dd3745b06342a1.jpg

String类型:值为字符串

c9c2ccb31b7e4be7bb3e48033d3869ae.jpg

Hash类型:值为哈希表

8ffc36427ec04e019fd34a272e26b133.png

List类型:值为一个双向链表

8aec936e281146c08565b3adfad4c02b.png

Set类型:值为一个无序不重复集合

eecf578185234a79baab06eb04e0f1b1.png

SortedSet类型:值为一个有序不重复集合

56ad8c49aa8f40f5a04e477418220040.png

Redis的JAVA客户端

17a248692b9a4f0bb792ae58d394c5aa.png

84dcef17d05c44c188def260ef68bd6e.jpg相比于jedis中的方法就是原来的redis命令一致,SpringDatarmRedis提供了统一的控制方式redisTemplate工具类

b4f01d85a12c4d788dd097e7c083b520.jpg

对于Redis数据的序列化主要有两种,可选择使用,下面只展示了第二种的方法

接Springboot整合Redis操作数据库快速入门:

1.首先创建好Springboot项目

2.引入依赖

        <!--redis依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
        <!--common-pool-->
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-pool2</artifactId>
        </dependency>
        <!--Jackson依赖-->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
        </dependency>

 3.配置Redis连接参数

spring.redis.host = 192.168.136.132
spring.redis.port = 6379
spring.redis.password = ******(没密码的可以不填)
spring.redis.lettuce.pool.max-active=8
spring.redis.lettuce.pool.max-idle=8
spring.redis.lettuce.pool.min-idle=0
spring.redis.lettuce.pool.max-wait=100ms

4.运行类

package com.example.redisdatademo;

import com.example.redisdatademo.redis.pojo.User;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.redis.core.StringRedisTemplate;
import javax.annotation.Resource;

@SpringBootTest
class RedisDataDemoApplicationTests {

    //依赖注入
    @Resource
    //StringRedisTemplate使用的是StringRedisSerializer,返回一个Object
    private StringRedisTemplate stringRedisTemplate;

    //测试普通数据
    @Test
    void contextLoads() {
        //写入String类型数据
        stringRedisTemplate.opsForValue().set("name","TestData01");

        //获取String类型数据
        Object object = stringRedisTemplate.opsForValue().get("name");
        
        System.out.println(object);
    }
        
    @Test
    void testhash(){
        //写入哈希数据
        stringRedisTemplate.opsForHash().put("user:400","name","zzl大王");
        stringRedisTemplate.opsForHash().put("user:400","age","400");

        //读取哈希数据
        //获取指定hash数据
        Object name = stringRedisTemplate.opsForHash().get("user:400", "name");

        System.out.println("name = " + name);

        //获取所有的hash
        Map<Object, Object> entries = 
                            stringRedisTemplate.opsForHash().entries("user:400");

        System.out.println("entries = " + entries);
    }
    

    //手动序列化mapper
    private static final  ObjectMapper mapper= new ObjectMapper();
    //使用Object对象进行操作
    @Test
    void testUser() throws JsonProcessingException {
        //创建对象
        User user= new User("虎哥01",100);
        
        //手动序列化对象数据
        String json = mapper.writeValueAsString(user);
        
        //写入数据
        stringRedisTemplate.opsForValue().set("user:200",json);
        
        //读取数据
        String jsonUser= stringRedisTemplate.opsForValue().get("user:200");
        
        //反手动序列化
        User user1 = mapper.readValue(jsonUser, User.class);

        System.out.println("user1 = " + user1);
    }
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值