Jedis简单操作,存储实体

来源:互联网 发布:蚁群算法背包问题 编辑:程序博客网 时间:2024/05/18 00:24

Jedis简单操作,如有疑问请加QQ群:83402555


Jedis操作实体需要序列化和反序列化,字符串不需要!

实体:

package com.redis.entity;import java.io.Serializable;/** * entity * @author zhoudong * */public class User implements Serializable{    /** *  */private static final long serialVersionUID = 1L;private Integer id;    private String userCode;    private String userName;    public Integer getId() {        return id;    }    public void setId(Integer id) {        this.id = id;    }    public String getUserCode() {        return userCode;    }    public void setUserCode(String userCode) {        this.userCode = userCode == null ? null : userCode.trim();    }    public String getUserName() {        return userName;    }    public void setUserName(String userName) {        this.userName = userName == null ? null : userName.trim();    }}



序列化工具类:

package com.redis.utils;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;/** * 序列化和反序列化 * @author zhoudong * */public class SerializeUtil {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;}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.redis.utils;import com.redis.entity.User;import redis.clients.jedis.Jedis;/** * 方法2,Jedis *  * 相关包: * <dependency>         <groupId>redis.clients</groupId>         <artifactId>jedis</artifactId>         <version>2.1.0</version>         <type>jar</type>         <scope>compile</scope>     </dependency>      * @author zhoudong * */public class JedisUtils {// redis服务器主机private static String host = "localhost";    // 端口号private static int port = 6379;    private static Jedis jedis = new Jedis(host, port);    /*static{    Jedis jedis = new Jedis(host, port);    }*/            public static void main(String[] args) {        User user = new User();    user.setId(611);    user.setUserCode("lilei");    user.setUserName("李磊");        //保存    set(String.valueOf(user.getId()), SerializeUtil.serialize(user));    //查询    User user1 =(User) get(String.valueOf(user.getId()));    System.out.println(user1.getUserCode()  +"----------"+ user.getUserName());    //更新    user.setUserCode("zhangsan");    update(String.valueOf(user.getId()), SerializeUtil.serialize(user));    user1 =(User) get(String.valueOf(user.getId()));    System.out.println(user1.getUserCode()  +"----------"+ user.getUserName());    //删除    delete(String.valueOf(user.getId()));    //是否存在    System.out.println(exists(String.valueOf(user.getId())));    }            /**     * set     * @param idkey     * @param bytesvalue     */    public static void set(String id,byte[] bytes){    // 添加key-value对象,如果key对象存在就覆盖该对象        jedis.set(id.getBytes(), bytes);    }    /**     * get     * @param id     * @return     */    public static Object get(String id){    // 添加key-value对象,如果key对象存在就覆盖该对象        byte[] bytes = jedis.get(id.getBytes());        return SerializeUtil.unserialize(bytes);    }    /**     * update     * @param idkey     * @param bytesvalue     */    public static void update(String id,byte[] bytes){    // 更新        set(id, bytes);    }    /**     * delete     * @param idkey     * @param bytesvalue     */    public static void delete(String id){    // 删除key-value对象,如果key不存在则忽略此操作        jedis.del(id.getBytes());    }    /**     * exists     * @param idkey     * @param bytesvalue     */    public static boolean exists(String id){    // 判断key是否存在,不存在返回false存在返回true        return jedis.exists(id.getBytes());    }    }


spring data redis 请参照上一篇。有疑问加群问!

0 0
原创粉丝点击