Redis中存储对象的精彩之旅(redis集合中放入对象)
Redis是一个多功能Key-Value存储,他可以用来存储复杂的数据结构,包括字符串,Hash,List,Set,Sorted Set等。就像一个孩子开始学习了解基本的概念,我们也可以在学习Redis之前获得一些基础的知识。
那么我们就从存储对象开始吧。Redis的基础存储类型是字符串,那么我们可以利用字符串存储对象。比如我们可以将一个对象的实例的JSON字符串作为value,然后使用key存储它,如:
//创建一个对象
var obj = { name : 'Shan',
age : 26}
//将对象转换为JSONvar objString = JSON.stringify(obj);
//使用Redis存储client.set('myObject',objString);
当然,我们也可以使用其他内置类型存储对象,比如List,Hash等。List是Redis中最基础的数据类型,它可以用来保存对象的数组:
//创建一个对象数组
var objList = [ {
name: 'Shan', age: 26
}, {
name: 'Lily', age: 25
}]
//将对象转换为JSONobjListString = JSON.stringify(objList);
//使用Redis存储client.set('listObject',objListString);
此外,Redis还可以用来存储Hash类型的对象,首先我们将对象按照 key-value 的形式转换,然后存储:
//将对象转换为Hash
client.hmset('myHashObject',{ name: 'Shan',
age : 26})
```
我们也可以使用Redis存储Set类型的对象,将对象放入一个Set中,然后将Set存储起来:
//创建一个SET
var setObject = new Set();
setObject.add(‘Shan’);
setObject.add(‘Lily’);
setObject.add(‘John’);
//将Set转换为JSON
var setObjectString = JSON.stringify(setObject);
//使用Redis存储
client.set(‘setObject’,setObjectString);
我们还可以使用Redis存储Sorted Set类型的对象,把对象保存在一个有序的set中,这里就不做介绍了。
Redis可以存储非常复杂的对象,这正是其强大之处,用它可以无缝地在缓存与存储之间实现数据的一致性。