Jedis存储一个以byte[]的形式的对象到Redis

1.1 准备一个User实体类
java 复制代码
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class User implements Serializable {
    private Integer id;
    private String name;
    private Date birthday;
}
1.2 导入Maven依赖
xml 复制代码
<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>
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <optional>true</optional>
</dependency>
1.3 创建TestSetByteArray测试类,编写内容
java 复制代码
import org.springframework.util.SerializationUtils;
import redis.clients.jedis.Jedis;

import java.util.Date;

public class TestSetByteArray {
    // Redis服务器信息
    private static final String REDIS_HOST = "192.168.200.141";
    private static final int REDIS_PORT = 6379;
    private static final String REDIS_PASSWORD = "sl183691";

    public static void main(String[] args) {
        //1. 连接Redis
        Jedis jedis = new Jedis(REDIS_HOST, REDIS_PORT);
        jedis.auth(REDIS_PASSWORD);

        //2.1 准备key(String)-value(User)
        String key = "user";
        User value = new User(1, "张三", new Date());
        //2.2 将key和value转换为byte[]
        byte[] byteKey = SerializationUtils.serialize(key);
        byte[] byteValue = SerializationUtils.serialize(value);
        //2.3 将key和value存储到Redis
        jedis.set(byteKey, byteValue);
        System.out.println("===================================================");

        //3. 获取操作结果
        //3.1 jedis去Redis中获取value
        byte[] value2 = jedis.get(byteKey);
        //3.2 将value反序列化为User对象
        User user = (User) SerializationUtils.deserialize(value2);
        //3.3 输出
        System.out.println("user:" + user);

        //4. 释放资源
        jedis.close();
    }
}

测试结果:

相关推荐
m0_51452057几秒前
Go语言变量如何声明和使用_Go语言变量定义完整教程【通俗】
jvm·数据库·python
weixin_5860614612 分钟前
CSS Grid布局如何解决图片溢出网格单元_设置object-fit与网格尺寸.txt
jvm·数据库·python
秋915 分钟前
数据库对比同步工具,快速比较开发库与生产库直接的差别,并自动生成存在差异的sql语句
数据库·oracle
Greyson132 分钟前
CSS Grid布局如何解决图片溢出网格单元_设置object-fit与网格尺寸.txt
jvm·数据库·python
Whitemeen太白32 分钟前
查询子级分类、父级分类、叶子节点分类(MySQL / Oracle )
数据库·mysql·oracle
C#程序员一枚32 分钟前
高可用(High Availability, HA)
数据库·c#
2401_8836002542 分钟前
Redis如何查询特定用户的排名_利用ZREVRANK指令获取ZSet降序名次
jvm·数据库·python
2301_777599371 小时前
如何决定是否需要创建索引_数据区分度与基数Cardinality计算
jvm·数据库·python
m0_514520571 小时前
SQL在SQL存储过程中优化子查询_缓存中间结果减少开销
jvm·数据库·python
2601_949817721 小时前
基础篇:Linux安装redis教程(详细)
linux·运维·redis