Redis下实现序列化保存和使用FastJson的处理(java)

本文介绍了在引入Redis后,如何处理Java中的数据存储和传输。在不使用Redis时,通常将数据转化为JSON字符串进行处理。加入Redis后,为方便存储List<User>或User等对象,可以封装类或利用FastJson进行序列化和反序列化操作。示例展示了如何使用FastJson将List<News>、User等转换为String,再从String恢复为原对象,简化了与Redis交互的过程。
摘要由CSDN通过智能技术生成

1.在不使用Redis的情况下; 

 我们一般从数据库中查到数据,然后放进List<User>,或者是User,然后使用java的框架,放数据到指定位置。

或者是从数据库中查到数据,放到List<User>,然后拼接json字符串或使用各种json库将字符串respon回前台,前台使用js来解析放到指定位置。


2.加入了Redis后:

从数据库中查到数据,然后放进List<User>,或者是User,然后将数据存进Redis中,在需要使用时,从Redis中通过键获得值。

但是:java中操作Redis,没有原生的api能实现:储存  list<User>,或者是实体类:Redis一般情况下存储普通的类型的数据,尽管他也能存set,list,等等,但是直接调api还是有很多东西要做的。所以不如封装一个类,达到将List<User>,或者User这样的数据存进去,获取也一下子可以获取。

 public static class ObjectsTranscoder{
              /**
               * 序列化
               * **/
	        public static  <T> byte[] serialize(List<T> t) {  
	            if (t == null) {
	                throw new NullPointerException("Can't serialize null");
	            }
	            byte[] rv=null;
	            ByteArrayOutputStream bos = null;
	            ObjectOutputStream os = null;
	            try {
	                bos = new ByteArrayOutputStream();
	                os = new ObjectOutputStream(bos);
	                for(T user : t){
	                    os.writeObject(user);
	                }
	                os.writeObject(null);
	                os.close();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值