1.在不使用Redis的情况下;
我们一般从数据库中查到数据,然后放进List<User>,或者是User,然后使用java的框架,放数据到指定位置。
或者是从数据库中查到数据,放到List<User>,然后拼接json字符串或使用各种json库将字符串respon回前台,前台使用js来解析放到指定位置。
2.加入了Redis后:
从数据库中查到数据,然后放进List<User>,或者是User,然后将数据存进Redis中,在需要使用时,从Redis中通过键获得值。
但是:java中操作Redis,没有原生的api能实现:储存 list<User>,或者是实体类:Redis一般情况下存储普通的类型的数据,尽管他也能存set,list,等等,但是直接调api还是有很多东西要做的。所以不如封装一个类,达到将List<User>,或者User这样的数据存进去,获取也一下子可以获取。
public static class ObjectsTranscoder{
/**
* 序列化
* **/
public static <T> byte[] serialize(List<T> t) {
if (t == null) {
throw new NullPointerException("Can't serialize null");
}
byte[] rv=null;
ByteArrayOutputStream bos = null;
ObjectOutputStream os = null;
try {
bos = new ByteArrayOutputStream();
os = new ObjectOutputStream(bos);
for(T user : t){
os.writeObject(user);
}
os.writeObject(null);
os.close();