Java连接Redis,存储对象获取对象()byte和json),连接池
Java连接Redis
Jedis连接Redis,Lettuce连接Redis
Jedis连接Redis
1. 创建maven项目
2. 引入依赖
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.12</version>
</dependency>
</dependencies>
3. 测试
@Test
public void Test1() {
// 连接Redis
Jedis jedis = new Jedis("localhost", 6379);
// 操作Redis - 因为Redis命令是什么,Jedis方法就是什么
jedis.set("name", "李四");
// 释放资源
jedis.close();
System.out.println(jedis.get("name"));
}
Jedis如何存储一个对象到Redis
准备一个User实体类
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User implements Serializable {
private String name;
private String Date;
}
导入spring-context依赖
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.12</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.6.RELEASE</version>
</dependency>
创建Demo测试类,编写内容
@Test
public void Test2() {
// 连接Redis
Jedis jedis = new Jedis("localhost", 6379);
// 准备key(String) -value (user)
String key = "user";
User value = new User("张三", "1999");
// 将key和value转换为byte[]
byte[] byteKey = SerializationUtils.serialize(key);
byte[] byteValue = SerializationUtils.serialize(value);
// 将key和value存储到Redis
jedis.set(byteKey, byteValue);
// 释放资源
jedis.close();
Jedis如何从Redis读取一个对象
测试
@Test
public void Test3() {
// 连接Redis
Jedis jedis = new Jedis("localhost", 6379);
// 准备一个key
String key = "user";
// 将key转换为字节数组类型
byte[] byteKey = SerializationUtils.serialize(key);
// jedis去redis中获取value
byte[] value = jedis.get(byteKey);
// 将value反序列化
User user = (User) SerializationUtils.deserialize(value);
System.out.println(user);
// 释放资源
jedis.close();
}
如何将一个对象以字符串的形式存储到Redis
导入依赖
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.12</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.6.RELEASE</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.70</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>RELEASE</version>
<scope>compile</scope>
</dependency>
测试
@Test
public void test1(){
// 连接Redis
Jedis jedis = new Jedis("localhost",6379);
// 准备key(String) - value(User)
String key = "stringUser";
User value = new User("帅哥","19999");
// 使用fastJSON将value转换为json字符串
String stringValue = JSON.toJSONString(value);
// 存储到Redis中
jedis.set(key,stringValue);
// 释放资源
jedis.close();
}
如何得到Redis中以字符串(JSON)存在形式的对象
依赖同上
测试
@Test
public void test2(){
// 连接Redis
Jedis jedis = new Jedis("localhost",6379);
//准备一个key
String key = "stringUser";
//去Redis中查询value
String value = jedis.get(key);
//将value反序列化一个对象
User user = JSON.parseObject(value, User.class);
System.out.println("user = "+ user);
// 释放资源
jedis.close();
}
Java连接Redis,存储对象获取对象()byte和json),连接池的更多相关文章
- 【java】java反射机制,动态获取对象的属性和对应的参数值,并属性按照字典序排序,Field.setAccessible()方法的说明【可用于微信支付 签名生成】
方法1:通过get()方法获取属性值 package com.sxd.test.controller; public class FirstCa{ private Integer num; priva ...
- java对象序列化和反序列化,redis存入和获取对象
最近使用redis发现直接存储序列化后的对象更方便,现提供java序列化和反序列化的代码 1.序列化代码: public static byte[] serialize(Object object) ...
- Redis 存储字符串和对象
今天用redis存储,发现客户端jedis提供的存储方法中存储的类型只有String和byte数据,没有能够存储对象的,网上发现可以序列化存储对象.这就开始了我第一次序列化之旅. 1 测试类 ...
- 阿里云短信验证解决方案(java版)(redis存储)
最近搞了一个互联网项目的注册,需要写一个手机号验证(由于之前没有轮子,只能自己摸索了); 1:基本思路: 1>购买了阿里云短信服务->下载阿里云短信发送demo(java版); 2> ...
- java操作redis学习(一):安装及连接
文章参考自:http://www.cnblogs.com/edisonfeng/p/3571870.html,在此基础上进行了修改. 一.下载安装Redis redis官网显示暂时不支持Windows ...
- Java操作Redis存储对象类型数据
背景描述 关于JAVA去操作Redis时,如何存储一个对象的数据,大家是非常关心的问题,虽然官方提供了存储String,List,Set等等类型,但并不满足我们现在实际应用.存储一个对象是是 ...
- Java:使用synchronized和Lock对象获取对象锁
在并发环境下,解决共享资源冲突问题时,可以考虑使用锁机制. 1.对象的锁 所有对象都自动含有单一的锁. JVM负责跟踪对象被加锁的次数.如果一个对象被解锁,其计数变为0.在任务(线程)第一次给对象加锁 ...
- java笔记线程方式1获取对象名称
* 如何获取线程对象的名称呢? * public final String getName():获取线程的名称. * 如何设置线程对象的名称呢? * public final void setName ...
- JSON对象获取指定元素以及JSON.parse() 与 JSON.stringify() 的区别
利用 JSON.parse(param) 实现 例: var param = { "name" : "张三", "text" : { &qu ...
随机推荐
- java 使用正则去重
//去重复 public static void test1() { String str = "aaactttsssfvvvvds"; String regex = " ...
- It is indirectly referenced from required .class files错误查找的解决办法如下
It is indirectly referenced from required .class files 原因:是JDK引入有问题导致的 解决方案:我之前是错误的引入成了JRE 坑哇!!!,改成如 ...
- 第二章: IPC机制
这章关于进程的概念,没有深入太多,只做了解跟学习 IPC: Inter-Process Communication,进程间通信或者跨进程通信,两个进程之间进行数据交换的过程 2.1介绍 线程:CPU调 ...
- 最全JavaScript基础总结
JavaScript介绍 什么是JavaScript? Javascript是一门面向对象的,跨平台的脚本语言. JavaScript有什么特点? 解释性脚本语言 运行在浏览器(浏览器内核带有js解释 ...
- 一起学Blazor WebAssembly 开发(3)
接着上篇,本篇开始讲下实现登录窗口,先看下大概的效果图: 打开的效果,没有美工美化 点登录校验得到不能为空 我在做blazor时用到了一个ui框架,这个框架名叫Ant Design blazor(ht ...
- python处理excel文件(xls和xlsx)
一.xlrd和xlwt 使用之前需要先安装,windows上如果直接在cmd中运行python则需要先执行pip3 install xlrd和pip3 install xlwt,如果使用pycharm ...
- socket网络
Socket 是进程间通信的一种方式,它与其他进程间通信的一个主要不同是:它能实现不同主机间的进程间通信,我们网络上各种各样的服务大多都是基于 Socket 来完成通信的,例如我们每天浏览网页.QQ ...
- ES Reindex用java来实现
简单的: 核心代码 //发送请求 ReindexRequestBuilder builder=ReindexAction.INSTANCE.newRequestBuilder(client).sour ...
- 架构师写的BUG,非比寻常
部门新来了个架构师,BAT背景,住在三环,开宝马上班,有车位. 小伙话不多,但一旦说话斩钉截铁,带着无法撼动的自信.原因就是,有他着数亿高并发经验,每一秒钟的请求,都是其他企业运行一年也无法企及的.这 ...
- Vue Router详细教程
1.什么是路由 1.1路由简介 说起路由你想起了什么?路由是一个网络工程里面的术语. 路由(routing)就是通过互联的网络把信息从源地址传输到目的地址的活动. --- 维基百科 额,啥玩意? 没听 ...