java操作redis(二):存取对象操作
来源:互联网 发布:php 数组元素相加 编辑:程序博客网 时间:2024/06/06 20:23
前提,对象必须要序列化,即对象的实体类要实现序列化接口。
代码如下所示:
用户实体类:
=================UserEntity.java===============
package com.wx.entitys;import java.io.Serializable;public class UserEntity implements Serializable{private static final long serialVersionUID = 3660009371337848373L;private Integer userId;private String userName;private String passWord;private String email;public UserEntity() {}public UserEntity(Integer userId, String userName, String passWord, String email) {super();this.userId = userId;this.userName = userName;this.passWord = passWord;this.email = email;}public Integer getUserId() {return userId;}public void setUserId(Integer userId) {this.userId = userId;}public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}public String getPassWord() {return passWord;}public void setPassWord(String passWord) {this.passWord = passWord;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}}Redis工具类
=================RedisUtil.java===============
package com.wx.utils;import redis.clients.jedis.Jedis;public class RedisUtil {private static String ip="169.254.130.122";private static int port=6379;private static String passWord="test123";//把redis连接对象放到本地线程中private static ThreadLocal<Jedis> local=new ThreadLocal<Jedis>();private RedisUtil(){}//建立连接public static Jedis getConn(){//Redis对象 Jedis jedis =local.get(); try {if(jedis==null){//根据ip和端口号建立连接jedis=new Jedis(ip,port);//设置密码jedis.auth(passWord);local.set(jedis);}} catch (Exception e) {e.printStackTrace();} return jedis;}//关闭连接public static void closeConn(){//从本地线程中获取Jedis jedis =local.get();if(jedis!=null){jedis.close();}local.set(null);}}对象存取工具类
=================RedisObjUtil.java===============
package com.wx.utils;import java.io.*;import redis.clients.jedis.Jedis;public class RedisObjUtil {// 存对象public static void setObject(Jedis jedis, String key, Object obj) throws Exception {ObjectOutputStream oos = null; //对象输出流ByteArrayOutputStream bos = null; //内存缓冲流bos = new ByteArrayOutputStream();oos = new ObjectOutputStream(bos);oos.writeObject(obj); byte[] byt = bos.toByteArray();jedis.set(key.getBytes(), byt);bos.close();oos.close();}// 取对象public static Object getObject(Jedis jedis, String key) throws Exception {byte[] byt = jedis.get(key.getBytes());ObjectInputStream ois = null; //对象输入流ByteArrayInputStream bis = null; //内存缓冲流Object obj = null;bis = new ByteArrayInputStream(byt);ois = new ObjectInputStream(bis);obj = ois.readObject();bis.close();ois.close();return obj;}}测试类
=================TestObjectOpt.java===============
package com.wx.test;import com.wx.entitys.UserEntity;import com.wx.utils.RedisObjUtil;import com.wx.utils.RedisUtil;import redis.clients.jedis.Jedis;public class TestObjectOpt {public static void main(String[] args) {Jedis jedis=RedisUtil.getConn();try {UserEntity user1=new UserEntity(110, "麻子", "123", "mazi@qq.com");RedisObjUtil.setObject(jedis, "user1", user1);UserEntity theUser=(UserEntity)RedisObjUtil.getObject(jedis, "user1");System.out.println(theUser.getUserName()+","+theUser.getEmail());} catch (Exception e) {e.printStackTrace();}finally{RedisUtil.closeConn();}}}执行完毕后,发现对象已经正确的存到了服务器上
阅读全文
0 0
- java操作redis(二):存取对象操作
- redis java对象操作
- Redis数据类型及存取操作
- java操作redis存储对象
- java操作redis(一):建立连接以及常用存取值的操作
- 使用Java操作Redis(二)
- java操作redis数据库二:list集合
- Java程序操作Redis(二)
- redis【java操作redis】
- redis数据库--操作对象
- Redis指令操作二
- Redis存取对象
- Java实现MySQL图片存取操作
- Java实现MySQL图片存取操作 .
- Java实现MySQL图片存取操作
- Java实现MySQL图片存取操作
- redis学习心得 -- java 操作 redis
- Redis--利用JAVA操作Redis
- Centos6和Ubuntu 下安装nvm和nodeJS开发环境
- MariaDB and MySQL Common Table Expressions and Window Functions Revealed.pdf 英文原版 免费下载
- C++ lambda 表达式
- c语言中函数声明的作用
- bootstrap之form样式
- java操作redis(二):存取对象操作
- 一个月过去了
- Beginning Java 9 Fundamentals, 2nd Edition.pdf 英文原版 免费下载
- Linux Ext文件系统
- SpringMVC 实现文件的上传与下载--较为原始
- Java设计模式--构建者模式(Builder)
- 至此,再没有宏伟壮志,但求安稳
- Set集合HashSet学习(Set集合学习一)
- jsPlumb流程图