redis实现 spring-redis-data初学习二 进阶,存取对象

配置文件如  redis实现 spring-redis-data 初学习中已经介绍过来,下面主要给你们分享如何存取对象java

UserInfoDOredis

[java] view plaincopyspring

  1. public class UserInfoDO {  学习

  2.     private String userId;  this

  3.     private String name;  spa

  4.     private String sex;  .net

  5.   

  6.     public String getUserId() {  对象

  7.         return userId;  blog

  8.     }  get

  9.   

  10.     public void setUserId(String userId) {  

  11.         this.userId = userId;  

  12.     }  

  13.   

  14.     public String getName() {  

  15.         return name;  

  16.     }  

  17.   

  18.     public void setName(String name) {  

  19.         this.name = name;  

  20.     }  

  21.   

  22.     public String getSex() {  

  23.         return sex;  

  24.     }  

  25.   

  26.     public void setSex(String sex) {  

  27.         this.sex = sex;  

  28.     }  

  29.   

  30. }  

操做对象存取类

UserRedisClient 

[java] view plaincopy

  1. public class UserRedisClient extends RedisBase {  

  2.     public static String PREFIX_USER = "user:";  

  3.   

  4.     public void save(final UserInfoDO user) {  

  5.         final StringRedisTemplate redisTemplate = getTemplate();  

  6.         redisTemplate.execute(new RedisCallback<UserInfoDO>() {  

  7.             public UserInfoDO doInRedis(RedisConnection connection) throws DataAccessException {  

  8.                 String key = PREFIX_USER + user.getUserId();  

  9.                 BoundHashOperations<String, String, String> boundHashOperations = redisTemplate.boundHashOps(key);  

  10.                 Map<String, String> data = new HashMap<String, String>();  

  11.                 data.put("name", user.getName());  

  12.                 data.put("sex", user.getSex());  

  13.                 boundHashOperations.putAll(data);  

  14.                 return null;  

  15.             }  

  16.         });  

  17.     }  

  18.   

  19.     public UserInfoDO getUserDoById(final String userId) {  

  20.         StringRedisTemplate redisTemplate = getTemplate();  

  21.         return redisTemplate.execute(new RedisCallback<UserInfoDO>() {  

  22.             public UserInfoDO doInRedis(RedisConnection connection) throws DataAccessException {  

  23.                 String key = PREFIX_USER + userId;  

  24.                 BoundHashOperations<String, String, String> boundHashOperations = getTemplate().boundHashOps(key);  

  25.                 Map<String, String> data = boundHashOperations.entries();  

  26.                 if (data != null) {  

  27.                     UserInfoDO user = new UserInfoDO();  

  28.                     user.setUserId(userId);  

  29.                     user.setName(data.get("name"));  

  30.                     user.setSex(data.get("sex"));  

  31.                     return user;  

  32.                 } else {  

  33.                     return null;  

  34.                 }  

  35.             }  

  36.         });  

  37.     }  

  38. }  

我参考了其余人的一些博客上在存和取的过程当中将各个字段序列化后存和取,不知道二者之间的区别和优劣,但愿你们借鉴,另外我参考的一篇文章中的写法我也贴出来,你们仅供参考,也但愿多多提提意见,一块儿学习。

存入对象:


获取对象:

相关文章
相关标签/搜索