加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

redis java对象操作

发布时间:2020-12-11 23:55:23 所属栏目:MySql教程 来源:网络整理
导读:使用Jedis客户端 1. java 对象,需序列化 Person /spanspan style="color: #0000ff;"gt;private/span span style="color: #0000ff;"gt;int/spanspan style="color: #000000;"gt; id;/spanspan style="color: #0000ff;"gt;private/spanspan style="color: #00

使用Jedis客户端

1. java 对象,需序列化

Person </span><span style="color: #0000ff;"&gt;private</span> <span style="color: #0000ff;"&gt;int</span><span style="color: #000000;"&gt; id; </span><span style="color: #0000ff;"&gt;private</span><span style="color: #000000;"&gt; String name; </span><span style="color: #0000ff;"&gt;public</span> Person(<span style="color: #0000ff;"&gt;int</span><span style="color: #000000;"&gt; id,String name) { </span><span style="color: #0000ff;"&gt;this</span>.id =<span style="color: #000000;"&gt; id; </span><span style="color: #0000ff;"&gt;this</span>.name =<span style="color: #000000;"&gt; name; } </span><span style="color: #0000ff;"&gt;public</span> <span style="color: #0000ff;"&gt;int</span><span style="color: #000000;"&gt; getId() { </span><span style="color: #0000ff;"&gt;return</span><span style="color: #000000;"&gt; id; } </span><span style="color: #0000ff;"&gt;public</span><span style="color: #000000;"&gt; String getName() { </span><span style="color: #0000ff;"&gt;return</span><span style="color: #000000;"&gt; name; }</span></pre>

2. 序列化类

</span><span style="color: #0000ff;"&gt;public</span> <span style="color: #0000ff;"&gt;static</span> <span style="color: #0000ff;"&gt;byte</span><span style="color: #000000;"&gt;[] serialize(Object object) { ObjectOutputStream oos </span>= <span style="color: #0000ff;"&gt;null</span><span style="color: #000000;"&gt;; ByteArrayOutputStream baos </span>= <span style="color: #0000ff;"&gt;null</span><span style="color: #000000;"&gt;; </span><span style="color: #0000ff;"&gt;try</span><span style="color: #000000;"&gt; { </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt; 序列化</span>

<span style="color: #000000;">
baos = <span style="color: #0000ff;">new<span style="color: #000000;"> ByteArrayOutputStream();

        oos </span>= <span style="color: #0000ff;"&gt;new</span><span style="color: #000000;"&gt; ObjectOutputStream(baos);

        oos.writeObject(object);

        </span><span style="color: #0000ff;"&gt;byte</span>[] bytes =<span style="color: #000000;"&gt; baos.toByteArray();

        </span><span style="color: #0000ff;"&gt;return</span><span style="color: #000000;"&gt; bytes;

    } </span><span style="color: #0000ff;"&gt;catch</span><span style="color: #000000;"&gt; (Exception e) {

    }

    </span><span style="color: #0000ff;"&gt;return</span> <span style="color: #0000ff;"&gt;null</span><span style="color: #000000;"&gt;;

}

</span><span style="color: #0000ff;"&gt;public</span> <span style="color: #0000ff;"&gt;static</span> Object unserialize(<span style="color: #0000ff;"&gt;byte</span><span style="color: #000000;"&gt;[] bytes) {

    ByteArrayInputStream bais </span>= <span style="color: #0000ff;"&gt;null</span><span style="color: #000000;"&gt;;

    </span><span style="color: #0000ff;"&gt;try</span><span style="color: #000000;"&gt; {

        </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt; 反序列化</span>

<span style="color: #000000;">
bais = <span style="color: #0000ff;">new<span style="color: #000000;"> ByteArrayInputStream(bytes);

        ObjectInputStream ois </span>= <span style="color: #0000ff;"&gt;new</span><span style="color: #000000;"&gt; ObjectInputStream(bais);

        </span><span style="color: #0000ff;"&gt;return</span><span style="color: #000000;"&gt; ois.readObject();

    } </span><span style="color: #0000ff;"&gt;catch</span><span style="color: #000000;"&gt; (Exception e) {

    }

    </span><span style="color: #0000ff;"&gt;return</span> <span style="color: #0000ff;"&gt;null</span><span style="color: #000000;"&gt;;

}

}

3. 对象的操作测试

</span><span style="color: #008000;"&gt;/**</span><span style="color: #008000;"&gt; * </span><span style="color: #808080;"&gt;@param</span><span style="color: #008000;"&gt; args </span><span style="color: #008000;"&gt;*/</span> <span style="color: #0000ff;"&gt;private</span> <span style="color: #0000ff;"&gt;static</span><span style="color: #000000;"&gt; Jedis jedis; </span><span style="color: #0000ff;"&gt;public</span> <span style="color: #0000ff;"&gt;static</span> <span style="color: #0000ff;"&gt;void</span> main(String[] args) <span style="color: #0000ff;"&gt;throws</span><span style="color: #000000;"&gt; InterruptedException { jedis</span>=<span style="color: #0000ff;"&gt;new</span> Jedis("127.0.0.1",6379<span style="color: #000000;"&gt;); setObject(); Thread.sleep(</span>1000<span style="color: #000000;"&gt;); Person person </span>=getObject(100<span style="color: #000000;"&gt;); System.out.println(jedis.keys(</span>"*"<span style="color: #000000;"&gt;)); </span><span style="color: #0000ff;"&gt;if</span>(person!=<span style="color: #0000ff;"&gt;null</span><span style="color: #000000;"&gt;){ System.out.println(person.getId()); System.out.println(person.getName()); } delOject(); System.out.println(jedis.keys(</span>"*"<span style="color: #000000;"&gt;)); person </span>= getObject(100<span style="color: #000000;"&gt;); </span><span style="color: #0000ff;"&gt;if</span>(person!=<span style="color: #0000ff;"&gt;null</span><span style="color: #000000;"&gt;){ System.out.println(person.getId()); System.out.println(person.getName()); }</span><span style="color: #0000ff;"&gt;else</span><span style="color: #000000;"&gt;{ System.out.println(</span>"key not exist"<span style="color: #000000;"&gt;); } } </span><span style="color: #0000ff;"&gt;public</span> <span style="color: #0000ff;"&gt;static</span> Person getObject(<span style="color: #0000ff;"&gt;int</span><span style="color: #000000;"&gt; id) { </span><span style="color: #0000ff;"&gt;byte</span>[] person = jedis.get(("person:" +<span style="color: #000000;"&gt; id).getBytes()); </span><span style="color: #0000ff;"&gt;return</span><span style="color: #000000;"&gt; (Person) SerializeUtil.unserialize(person); } </span><span style="color: #0000ff;"&gt;public</span> <span style="color: #0000ff;"&gt;static</span> <span style="color: #0000ff;"&gt;void</span><span style="color: #000000;"&gt; setObject() { Person person </span>= <span style="color: #0000ff;"&gt;new</span> Person(100,"alan"<span style="color: #000000;"&gt;); jedis.set(</span>"person:100"<span style="color: #000000;"&gt;.getBytes(),SerializeUtil.serialize(person)); person </span>= <span style="color: #0000ff;"&gt;new</span> Person(101,"bruce"<span style="color: #000000;"&gt;); jedis.set(</span>"person:101"<span style="color: #000000;"&gt;.getBytes(),SerializeUtil.serialize(person)); } </span><span style="color: #0000ff;"&gt;public</span> <span style="color: #0000ff;"&gt;static</span> <span style="color: #0000ff;"&gt;void</span><span style="color: #000000;"&gt; delOject(){ </span><span style="color: #0000ff;"&gt;boolean</span> isExist=jedis.exists("person:100"<span style="color: #000000;"&gt;.getBytes()); </span><span style="color: #0000ff;"&gt;if</span><span style="color: #000000;"&gt;(isExist){ System.out.println(</span>"delete the key"<span style="color: #000000;"&gt;); jedis.del(</span>"person:100"<span style="color: #000000;"&gt;.getBytes()); } }

}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读