Jedis存取对象和对象列表

下载redis https://github.com/xetorthio/jedis/releases  安装省略

 

新建项目 引用jedis-x.x.x.jar和commons-pool-x.x.jar

 

Jedis存取对象和对象列表 需要对象实现Serializable接口

 

package com.zns.bean;

import java.io.Serializable;

public class Person implements Serializable {
    private int id;
    private String name;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Person(int id, String name) {
        super();
        this.id = id;
        this.name = name;
    }

    @Override
    public String toString() {
        return "Person [id=" + id + ", name=" + name + "]";
    }
}

 

package com.zns.util;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;

public class SerializeUtil {
    /**
     * 序列化
     * 
     * @param object
     * @return
     */
    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;
    }

    /**
     * 反序列化
     * 
     * @param bytes
     * @return
     */
    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;
    }
}

 

package com.zns.test;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.zns.bean.Person;
import com.zns.util.SerializeUtil;

import redis.clients.jedis.Jedis;

public class Test {

    public static void main(String[] args) {
        //指定服务器和端口
        Jedis jedis = new Jedis("127.0.0.1", 6379);

        // 存取string
        jedis.set("key1", "value1");
        System.out.println(jedis.get("key1"));
        //删除key
        jedis.del("key1");
        System.out.println(jedis.get("key1"));

        // 存取map
        Map<String, String> map = new HashMap<String, String>();
        map.put("name", "zhangsan");
        map.put("age", "18");
        jedis.hmset("user1", map);
        List<String> rsmap = jedis.hmget("user1", "name", "age");
        System.out.println(rsmap);

        // 存取person对象
        Person person1 = new Person(1, "张三");
        jedis.set("key2".getBytes(), SerializeUtil.serialize(person1));

        byte[] personbyte1 = jedis.get(("key2").getBytes());
        Person p1 = (Person) SerializeUtil.unserialize(personbyte1);
        System.out.println(p1.getId() + ":" + p1.getName());
        
        //存取list person对象
        List<Person> list=new ArrayList<Person>();
        list.add(new Person(1, "张三"));
        list.add(new Person(2, "李四"));
        
        jedis.set("key3".getBytes(), SerializeUtil.serialize(list));

        byte[] personlistbyte = jedis.get(("key3").getBytes());
        List<Person> list1 = (List<Person>) SerializeUtil.unserialize(personlistbyte);
        System.out.println(list1);

        jedis.close();
    }

}

 

转载于:https://www.cnblogs.com/zengnansheng/p/10386070.html

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值