將對象緩衝到redis中

來源:互聯網
上載者:User

1,java配置redis用戶端

public class RedisClient implements Serializable{    private Jedis jedis;    private JedisPool jedisPool;    ShardedJedis shardedJedis;    private ShardedJedisPool shardedJedisPool;    public RedisClient(){        initialPool();        initialSharePool();        shardedJedis = shardedJedisPool.getResource();        jedis = jedisPool.getResource();    }    /**     * 初始化非切片池     */    private void initialPool(){        //池基本配置        JedisPoolConfig config = new JedisPoolConfig();        config.setMaxActive(20);        config.setMaxIdle(5);        config.setMaxWait(10001);        config.setTestOnBorrow(false);        jedisPool = new JedisPool(config, Enums.LINUX_HOST.getValue(), 6379);    }    /**     * 初始化切片池     */    private void initialSharePool(){        //池基本配置        JedisPoolConfig config = new JedisPoolConfig();        config.setMaxActive(20);        config.setMaxIdle(5);        config.setMaxWait(10001);        config.setTestOnBorrow(false);        //slave串連        List<JedisShardInfo> shardInfos = new ArrayList<JedisShardInfo>();        shardInfos.add(new JedisShardInfo(Enums.LINUX_HOST.getValue(), 6379, 1000));        //構造池        shardedJedisPool = new ShardedJedisPool(config, shardInfos);    }}

2,數組和對象的相互轉化

        1,對象實現Serializable介面,才可以序列化和還原序列化

        

        2,對象和數組相互轉化的代碼

        

public class ObjectAndByte {    public  static byte[] toByteArray (Object obj) {        byte[] bytes = null;        try {            // object to bytearray            ByteArrayOutputStream bo = new ByteArrayOutputStream();            ObjectOutputStream oo = new ObjectOutputStream(bo);            oo.writeObject(obj);            bytes = bo.toByteArray();            bo.close();            oo.close();        } catch (Exception e) {            System.out.println("translation" + e.getMessage());            e.printStackTrace();        }        return bytes;    }    /**     * 數組轉對象     * @param bytes     * @return     */    public static Object toObject (byte[] bytes) {        Object obj = null;        try {            ByteArrayInputStream bis = new ByteArrayInputStream (bytes);            ObjectInputStream ois = new ObjectInputStream (bis);            obj = ois.readObject();            ois.close();            bis.close();        } catch (IOException ex) {            ex.printStackTrace();        } catch (ClassNotFoundException ex) {            ex.printStackTrace();        }        return obj;    }}

        3,測試

        


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.