Redis 存储JavaBean对象(默认是不支持的,只能让该javabean继承序列化接口实现)
来源:互联网 发布:手机淘宝联盟自动发单 编辑:程序博客网 时间:2024/05/19 01:14
1 测试类
import redis.clients.RedisClinet;import redis.clients.SerializeUtil;import redis.clients.jedis.Jedis;public class Test { /** * Administrator * @param args */ public static void main(String[] args) { // 操作单独的文本串 Jedis redis= new Jedis( "10.2.31.38", 6379); redis.set( "key", "value"); System. out.println(redis.get( "key")); System. out.println(redis.del( "key")); // 操作实体类对象 Goods good= new Goods(); // 这个Goods实体我就不写了啊 good.setName( "洗衣机" ); good.setNum(400); good.setPrice(19l); redis.set( "good".getBytes(), SerializeUtil. serialize(good)); byte[] value = redis.get( "good".getBytes()); Object object = SerializeUtil. unserialize(value); if(object!= null){ Goods goods=(Goods) object; System. out.println(goods.getName()); System. out.println(goods.getNum()); System. out.println(goods.getPrice()); } System. out.println(redis.del( "good".getBytes())); // 操作实体类对象2(实际上和上面是一样的) String key= "goods-key"; Goods g= new Goods(); g.setName( "电风扇--d" ); g.setNum(200); String temp=RedisClinet. getInstance().set(g, key); System. out.println(temp); Object o=RedisClinet. getInstance().get(key); if(o!= null) { Goods g1=(Goods)o; System. out.println(g1.getName()); System. out.println(g1.getNum()); } System. out.println(RedisClinet. getInstance().del(key)); }}2 RedisClinet 客户端类
package redis.clients;import redis.clients.jedis.Jedis;/** * * @author ajun * */public class RedisClinet { private static final String ip= "10.2.31.38"; private static final int port=6379; protected static RedisClinet redis = new RedisClinet (); protected static Jedis jedis = new Jedis( ip, port);; static { } protected RedisClinet(){ System. out.println( " init Redis "); } public static RedisClinet getInstance() { return redis; } /**set Object*/ public String set(Object object,String key) { return jedis.set(key.getBytes(), SerializeUtil.serialize(object)); } /**get Object*/ public Object get(String key) { byte[] value = jedis.get(key.getBytes()); return SerializeUtil. unserialize(value); } /**delete a key**/ public boolean del(String key) { return jedis.del(key.getBytes())>0; }}
3 序列化工具类
package redis.clients;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;/** * @author Administrator * */public class SerializeUtil { public static byte[] serialize(Object object) { ObjectOutputStream oos = null; ByteArrayOutputStream baos = null; try { // 序列化 baos = new ByteArrayOutputStream(); oos = new ObjectOutputStream(baos); oos.writeObject(object); byte[] bytes = baos.toByteArray(); return bytes; } catch (Exception e) { } return null; } public static Object unserialize( byte[] bytes) { ByteArrayInputStream bais = null; try { // 反序列化 bais = new ByteArrayInputStream(bytes); ObjectInputStream ois = new ObjectInputStream(bais); return ois.readObject(); } catch (Exception e) { } return null; }}
0 0
- Redis 存储JavaBean对象(默认是不支持的,只能让该javabean继承序列化接口实现)
- Javabean实现可序列化接口
- javaBean的序列化
- 基于Spring-Data-Redis存储JavaBean对象
- JAVAbean为何要实现序列化 实现Serializable接口
- JavaBean为什么实现Serializable(序列化)接口
- JavaBean为什么实现Serializable(序列化)接口
- JavaBean为什么实现Serializable(序列化)接口
- JavaBean为什么实现Serializable(序列化)接口
- javaBean为什么要实现序列化 Serializable接口?
- javaBean为什么要实现 序列化 Serializable接口?
- javaBean为什么要实现 序列化 Serializable接口?
- JavaBean (实现 Serializable(可序列化) 接口的类) 里 serialVersionUID 的作用
- JavaBean序列化的问题
- JavaBean 实现 implements Serializable 序列化
- javabean为什么要实现序列化
- javaBean需要实现Serializable接口的原因
- javabean实现serializable接口的作用
- 欢迎使用CSDN-markdown编辑器
- 2015年大二上-数据结构-数组与广义表(2)-2.压缩存储的对称矩阵的运算
- Bitmap的基础综合
- 纯代码实现cell嵌套cell
- Sublime Text 无法使用Package Control或插件安装失败的解决方法
- Redis 存储JavaBean对象(默认是不支持的,只能让该javabean继承序列化接口实现)
- CentOS 7.1安装GNOME,开启VNC Server
- Git 远程服务器搭建
- 如何计算任意两分数
- IOS开发之NSDictionary里setValue:forKey与setObject:forKey、objectForKey与valueForKey的差异
- CenOS6.x 下Twisted安装
- android 属性动画的一些经验
- 【LEETCODE】290-Word Pattern
- 小马哥----高仿机部分6735芯片机型的root方法浅析 高仿三星Galaxy S6 A228_4G刷机root