说明:
(1)本篇博客就是演示【如何从redis数据库中,读取“被序列化的对象字符串”,然后将其反序列化为对象】,模拟在实际开发中,redis的使用;
(2)本篇博客中,对象序列化的方式,采用的是JSON序列化;
(3)本篇博客的例子多少还是有点玩具性质;具体redis在实际中的使用方式,还是需要在实际项目了解;
CacheSample1类:
package com.imooc.jedis;
import com.alibaba.fastjson.JSON;
import redis.clients.jedis.Jedis;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class CacheSample1 {
public static void main(String[] args) {
System.out.println("请输入要查询的商品编号:");
String goodsId = new Scanner(System.in).next();
Jedis jedis = new Jedis("1**.***.***.**4", 6380);
try {
jedis.auth("12345");//输入密码,获取授权
jedis.select(4);
String key = "goods:" + goodsId;
if (jedis.exists(key)) {//判断,在redis数据库中,是否存在对应的key
String goodsJson = jedis.get(key);
System.out.println(goodsJson);
Goods goods = JSON.parseObject(goodsJson, Goods.class);//将获取的结果,反序列化为Good对象
System.out.println(goods);
} else {
System.out.println("输入的商品编号不存在。");
}
} catch (Exception e) {
e.printStackTrace();
}finally {
jedis.close();
}
}
}
说明
(1)运行结果
Summary:
(1)如上面案例中,我们把商品信息存在了redis数据库中(内存中啦),这个读取速度是非常快的;
(2)因为,在项目中,把数据存放在redis数据库中的目的是【缓存】,那么就要求这些数据具备两个特性:
● 不能太大,比如要把一个300G的东西存到redis中,那么就要占用300G的内存;这就有点扯了,什么样的服务器也无法承载;
● 这些数据,应该是【相对稳定的】、【更新频率比较低的数据】;比如商品信息数据、学校人员信息数据、公司办公设备数据等不太变动的数据;但是,如门票信息数据、航天数据等需要实时变更的数据,就不适合使用redis缓存;
(3)目前来看,对于一个大程序来说,redis可以提升其中的某个部分的速度;这个【某个部分】就是【获取那些相对稳定的,如商品信息】的速度;(目前猜测,这些商品信息数据,应该是提前被缓存到redis数据库的)
………………………………
(4)本专栏【Redis】中的内容,仅仅是redis最基础的东西,仅仅是一个入门,仅仅是一个入门!!!!!!
本文讲解了如何从Redis中读取序列化对象并反序列化为Java对象,重点介绍了JSON序列化,并阐述了Redis作为缓存的适用场景及注意事项。

20万+

被折叠的 条评论
为什么被折叠?



