redis的五种数据类型
redis的五种数据类型分别是string、hash 、list、set、zset 。
一、string
string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象。string类型是Redis最基本的数据类型,string类型的值最大能存储512MB。
二、hash
Redishash是一个键值(key=>value)对集合。Redishash是一个string类型的field和value的映射表,hash特别适合用于存储对象。HMSET,HGET命令,HMSET设置了两个field=>value对,HGET获取对应field对应的value。
三、list
列表是简单的字符串列表,按照插入顺序排序。可以添加一个元素到列表的头部(左边)或者尾部(右边)。列表最多可存储232—1元素(4294967295, 每个列表可存储40多亿)。lpush设置值,lrange取值。
四、set
redis的set是string的无序集合。集合通过哈希表实现。添加一个string元素到key对应的set集合中,用sadd命令。返回1表示成功,0表示在集合中已存在,返回错误表示key对应的set不存在。查看用smembers命令。集合内元素的唯一性,第二次插入的元素将被忽略。集合中最大的成员数为232—1(4294967295,每个集合可存储40多亿个成员)。
五、zset
redis的zset和set一样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。zset的成员是唯一的,但分数(score)却可以重复。
Redis数据模型和性能:
一、数据模型
1、字符串列表。
2、无序不重复的字符串集合。
3、有序不重复的字符串集合。
4、键、值都为字符串的哈希表。
二、性能
1、测试完成了50个并发执行100000个请求。
2、设置和获取的值是一个256字节字符串。
3、Linux box是运行Linux 2.6,这是X3320 Xeon 2.5 ghz。
4、文本执行使用loopback接口(127.0.0.1)。
5、结果:读的速度是110000次/s,写的速度是81000次/s 。