配置文件如 redis实现 spring-redis-data 初学习中已经介绍过来,下面主要给大家分享如何存取对象
UserInfoDO
[java] view plaincopy
public class UserInfoDO {
private String userId;
private String name;
private String sex;
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
操作对象存取类
UserRedisClient
[java] view plaincopy
public class UserRedisClient extends RedisBase {
public static String PREFIX_USER = "user:";
public void save(final UserInfoDO user) {
final StringRedisTemplate redisTemplate = getTemplate();
redisTemplate.execute(new RedisCallback<UserInfoDO>() {
public UserInfoDO doInRedis(RedisConnection connection) throws DataAccessException {
String key = PREFIX_USER + user.getUserId();
BoundHashOperations<String, String, String> boundHashOperations = redisTemplate.boundHashOps(key);
Map<String, String> data = new HashMap<String, String>();
data.put("name", user.getName());
data.put("sex", user.getSex());
boundHashOperations.putAll(data);
return null;
}
});
}
public UserInfoDO getUserDoById(final String userId) {
StringRedisTemplate redisTemplate = getTemplate();
return redisTemplate.execute(new RedisCallback<UserInfoDO>() {
public UserInfoDO doInRedis(RedisConnection connection) throws DataAccessException {
String key = PREFIX_USER + userId;
BoundHashOperations<String, String, String> boundHashOperations = getTemplate().boundHashOps(key);
Map<String, String> data = boundHashOperations.entries();
if (data != null) {
UserInfoDO user = new UserInfoDO();
user.setUserId(userId);
user.setName(data.get("name"));
user.setSex(data.get("sex"));
return user;
} else {
return null;
}
}
});
}
}
我参考了其他人的一些博客上在存和取的过程中将各个字段序列化后存和取,不知道两者之间的区别和优劣,希望大家借鉴,另外我参考的一篇文章中的写法我也贴出来,大家仅供参考,也希望多多提提意见,一起学习。
存入对象:
获取对象: