Redis数据类型

Redis是一个数据结构类型的服务器,不是单纯的key-value存储。Redis里面的键是二进制安全的(二进制安全是指数据在传输过程中保证数据的安全性,包括加密等),因此键的内容不应该包含空格或者换行符。比如”hello world”和”hello world\n”是错误的。

 

字符串类型

这是最简单的redis数据类型,在只使用这个数据类型的时候,Redis就和一个有持久存储功能的memcached服务器类似。在Redis中,值最大可以有1GB,因此可以将图片等内容都缓存进去。SET操作,GET操作是基本的存储和读取操作,INCR命令可以将值自增1.

 

List类型

Redis的List类型是使用双向链表存储的,因此不管是在List的头还是尾部插入数据,所消耗的时间的是固定的。

 

SET类型

Redis的SETs是没有排序的二进制字符串集,换种说法就是字符串的无序集合。因为它是通过哈希表来实现的,因此它的添加,删除,查找的时间复杂度都是O(1)。Set除了基本的添加删除操作之外,还存在集合的取并集,交集,差集。通过这些操作可以轻松实现SNS和BLOG的好友推荐,标签等功能。

 

Sorted set

和set一样是字符串的集合,不同的是每个元素都会关联一个double类型的score。实现使用的是skip list和hash table,skip list的实现使用的是双线链表。Score的主要作用是排序,因此 sorted set主要用作索引。

 

Hash

Redis的hash是string类型的field和value映射表,添加删除的时间复杂度是O(1)。适合用来存储对象,可以减少内存的使用。减少内存使用的原因是新建hash对象时开始使用zipmap来存储。

你可能感兴趣的:(redis)