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]
[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]
相关文章推荐
- spring-boot-data-redis线程池配置
- Redis-sentinel哨兵模式集群方案配置
- Redis安装+主从配置 过程中 的几个小 Tips
- redis的单实例配置+web链接redis
- Redis使用工具类
- webpy save session to redis
- redis视频学习笔记-1
- redis.conf配置文件详解
- redis实现附近的人,但jedis中没有相关api,那么直接使用lua脚本执行。
- Redis 主从同步配置
- Redis AOF 全持久化
- 非关系型数据库redis(二):Redis配置
- CentOS6.5安装redis(3.0.3)
- redis 配置文件详解
- Redis安装 (Windows64位)
- redis实现有序队列
- redis实现有序队列
- YII框架redis的配置
- Redis学习笔记(7)-info命令详解
- Redis学习笔记(7)-info命令详解