redis实现 spring-redis-data,存取对象

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

UserInfoDO

[java]  view plain copy
  1. public class UserInfoDO {  
  2.     private String userId;  
  3.     private String name;  
  4.     private String sex;  
  5.   
  6.     public String getUserId() {  
  7.         return userId;  
  8.     }  
  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 plain copy
  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. }  
我参考了其他人的一些博客上在存和取的过程中将各个字段序列化后存和取,不知道两者之间的区别和优劣,希望大家借鉴,另外我参考的一篇文章中的写法我也贴出来,大家仅供参考,也希望多多提提意见,一起学习。

存入对象:


获取对象:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值