当前位置: 首页 > news >正文

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

1.1 准备一个User实体类
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依赖
<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测试类,编写内容
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. 连接RedisJedis 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存储到Redisjedis.set(byteKey, byteValue);System.out.println("===================================================");//3. 获取操作结果//3.1 jedis去Redis中获取valuebyte[] value2 = jedis.get(byteKey);//3.2 将value反序列化为User对象User user = (User) SerializationUtils.deserialize(value2);//3.3 输出System.out.println("user:" + user);//4. 释放资源jedis.close();}
}

测试结果:

在这里插入图片描述

http://www.lryc.cn/news/493019.html

相关文章:

  • updatexml报错注入原理分析
  • 蓝桥杯c++算法秒杀【6】之动态规划【上】(数字三角形、砝码称重(背包问题)、括号序列、组合数问题:::非常典型的必刷例题!!!)
  • 【Qt】重写QComboBox下拉展示多列数据
  • 【mac】终端左边太长处理,自定义显示名称(terminal路径显示特别长)
  • 基于Springboot的流浪宠物管理系统
  • web博客系统的自动化测试
  • 【论文阅读】Multi-level Semantic Feature Augmentation for One-shot Learning
  • 网络知识面试
  • 图片预览 图片上传到服务器
  • 前端:base64的作用
  • Django在fitler过滤不等于的条件
  • Spring Boot英语知识分享网站:技术与实践
  • 京准电钟:NTP网络校时服务器从入门到精准
  • C++趣味编程玩转物联网:用树莓派Pico控制四位数码管
  • DRM(数字权限管理技术)防截屏录屏----视频转hls流加密、web解密播放
  • 实验三 z变换及离散时间LTI系统的z域分析
  • Python中的DrissionPage详解
  • python除了熟悉的pandas,openpyxl库也很方便的支持编辑Excel表
  • go语言怎么实现bash cmd里的mv功能?
  • Vue前端面试进阶(五)
  • 面试手撕题积累
  • notepad++文件github下载
  • .NET新知识点笔记
  • 数据结构:链表进阶
  • Python 爬虫入门教程:从零构建你的第一个网络爬虫
  • Java面试题、八股文——JVM篇最终篇
  • Spring Boot整合Redis Stack构建本地向量数据库相似性查询
  • shell脚本基础学习_总结篇(完结)
  • 什么是 C++ 中的函数对象?它有什么特点?
  • css:项目