您的位置:首页 > 数据库 > Redis

redis 存储对象

2016-07-04 15:45 489 查看
1 测试类

[align=left]import redis.clients.RedisClinet;[/align]
[align=left]import redis.clients.SerializeUtil;[/align]
[align=left]import redis.clients.jedis.Jedis;[/align]
[align=left]
[/align]
public class Test
{
[align=left]
[/align]
[align=left]      /**[/align]
[align=left]      * Administrator[/align]
[align=left]      * @param args[/align]
[align=left]      */[/align]
      public static void main(String[]
args) {
[align=left]           [/align]
[align=left]            // 操作单独的文本串[/align]
           Jedis redis= new Jedis( "10.2.31.38",
6379);
[align=left]           [/align]
[align=left]           redis.set( "key", "value");[/align]
[align=left]           System. out.println(redis.get( "key"));[/align]
[align=left]           System. out.println(redis.del( "key"));[/align]
[align=left]           [/align]
[align=left]            // 操作实体类对象[/align]
           Goods good= new Goods();
 // 这个Goods实体我就不写了啊
[align=left]           good.setName( "洗衣机" );[/align]
[align=left]           good.setNum(400);[/align]
[align=left]           good.setPrice(19l);[/align]
[align=left]           redis.set( "good".getBytes(), SerializeUtil. serialize(good));[/align]
            byte[]
value = redis.get( "good".getBytes());
[align=left]           Object object = SerializeUtil. unserialize(value);           [/align]
[align=left]            if(object!= null){[/align]
[align=left]                Goods goods=(Goods) object;[/align]
[align=left]                System. out.println(goods.getName());[/align]
[align=left]                System. out.println(goods.getNum());[/align]
[align=left]                System. out.println(goods.getPrice());[/align]
[align=left]           }[/align]
[align=left]           System. out.println(redis.del( "good".getBytes()));[/align]
[align=left]           [/align]
[align=left]            // 操作实体类对象2(实际上和上面是一样的)[/align]
[align=left]           String key= "goods-key";[/align]
[align=left]           Goods g= new Goods();[/align]
[align=left]           g.setName( "电风扇--d" );[/align]
[align=left]           g.setNum(200);[/align]
[align=left]           String temp=RedisClinet. getInstance().set(g, key);[/align]
[align=left]           System. out.println(temp);[/align]
[align=left]           [/align]
[align=left]           Object o=RedisClinet. getInstance().get(key);[/align]
[align=left]            if(o!= null)[/align]
[align=left]           {[/align]
[align=left]                Goods g1=(Goods)o;[/align]
[align=left]                System. out.println(g1.getName());[/align]
[align=left]                System. out.println(g1.getNum());[/align]
[align=left]           }[/align]
[align=left]          System. out.println(RedisClinet. getInstance().del(key));[/align]
[align=left]           [/align]
[align=left]     }[/align]
[align=left]}[/align]

2 RedisClinet 客户端类

[align=left]package redis.clients;[/align]

[align=left]import redis.clients.jedis.Jedis;[/align]
[align=left]/**[/align]
[align=left] *[/align]
[align=left] * @author ajun[/align]
[align=left] *[/align]
[align=left] */[/align]
[align=left]public class RedisClinet {[/align]
[align=left]      private static final String ip= "10.2.31.38";[/align]
[align=left]      private static final int port=6379;[/align]
[align=left]      protected static RedisClinet redis = new RedisClinet ();[/align]
[align=left]      protected static Jedis jedis = new Jedis( ip, port);;[/align]
[align=left]      static {[/align]
[align=left]           [/align]
[align=left]     }[/align]
[align=left]    protected RedisClinet(){[/align]
       System. out.println( "
init Redis ");
[align=left]    }[/align]
[align=left]    public static RedisClinet getInstance()[/align]
[align=left]    {[/align]
[align=left]        return redis;[/align]
[align=left]    }[/align]
[align=left]   [/align]
[align=left]    /**set Object*/[/align]
      public String
set(Object object,String key)
[align=left]     {[/align]
            return jedis.set(key.getBytes(),
SerializeUtil.serialize(object));
[align=left]     }[/align]
[align=left]     [/align]
[align=left]      /**get Object*/[/align]
      public Object
get(String key)
[align=left]     {[/align]
            byte[]
value = jedis.get(key.getBytes());
[align=left]            return SerializeUtil. unserialize(value);[/align]
[align=left]     }[/align]
[align=left]     [/align]
[align=left]      /**delete a key**/[/align]
      public boolean del(String
key)
[align=left]     {[/align]
[align=left]            return jedis.del(key.getBytes())>0;[/align]
[align=left]     }[/align]
[align=left]
[/align]
[align=left]}[/align]
[align=left]
[/align]
[align=left]
[/align]
[align=left]3 序列化工具类[/align]
[align=left]
[/align]

[align=left]/**[/align]
[align=left] *[/align]
[align=left] */[/align]
[align=left]package redis.clients;[/align]
[align=left]
[/align]
[align=left]import java.io.ByteArrayInputStream;[/align]
[align=left]import java.io.ByteArrayOutputStream;[/align]
[align=left]import java.io.ObjectInputStream;[/align]
[align=left]import java.io.ObjectOutputStream;[/align]
[align=left]
[/align]
[align=left]/**[/align]
[align=left] * @author Administrator[/align]
[align=left] *[/align]
[align=left] */[/align]
public class SerializeUtil
{
      public static byte[]
serialize(Object object) {
[align=left]           ObjectOutputStream oos = null;[/align]
[align=left]            ByteArrayOutputStream baos = null;[/align]
[align=left]            try {[/align]
[align=left]                 // 序列化[/align]
[align=left]                baos = new ByteArrayOutputStream();[/align]
[align=left]                oos = new ObjectOutputStream(baos);[/align]
[align=left]                oos.writeObject(object);[/align]
                 byte[]
bytes = baos.toByteArray();
[align=left]                 return bytes;[/align]
           } catch (Exception
e) {
[align=left]
[/align]
[align=left]           }[/align]
[align=left]            return null;[/align]
[align=left]     }[/align]
[align=left]
[/align]
      public static Object
unserialize( byte[] bytes) {
[align=left]           ByteArrayInputStream bais = null;[/align]
[align=left]            try {[/align]
[align=left]                 // 反序列化[/align]
[align=left]                bais = new ByteArrayInputStream(bytes);[/align]
[align=left]                ObjectInputStream ois = new ObjectInputStream(bais);[/align]
[align=left]                 return ois.readObject();[/align]
           } catch (Exception
e) {
[align=left]
[/align]
[align=left]           }[/align]
[align=left]            return null;[/align]
[align=left]     }[/align]
[align=left]}[/align]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: