Redis对于开发者来说是一个功能强大、性能卓越的内存关系数据库,它既可以使用key-value存储,也支持发布与订阅和数据表分割等功能,在一般的数据读取和储存方面也有不错的表现。那么Redis是否可以储存对象呢?
答案是肯定的,Redis可以储存对象信息。其实Redis可以储存的类型非常多,它可以储存字符串(strings)、散列(hashes)、列表(lists)、集合(sets)、有序集合(sorted sets)五种类型的数据结构。在储存对象信息前,你需要将对象信息转换成 JSON(JavaScript Object Notation)字符串,然后使用Redis中的SET命令来储存。
例如,我们想要储存一个Person对象,其属性分别有name、gender、age,JBooson把其转换为JSON字符串如下:
{
"name":"Jab",
"gender":"male",
"age":20
}
然后我们可以使用Redis SET命令将其储存起来:
SET person {
"name":"Jab",
"gender":"male",
"age":20
}
另外Redis 还提供了GET命令获取储存在Redis的对象的JSON字符串:
GET person
当然我们可以借助于Jackson或其他库将从Redis中获取到的JSON字符串转换成Person对象,例如:
ObjectMapper mapper = new ObjectMapper();
String json = RedisClient.get("person");
Person person = mapper.readValue(json, Person.class);
可以看到Redis提供了两个存储对象信息的命令,即SET和GET,可以让我们方便地将对象信息转换为JSON字符串,并储存在Redis中,从而节省了时间,提高了储存效率。
香港服务器首选港服(Server.HK),2H2G首月10元开通。
港服(Server.HK)(www.IDC.Net)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。