Redis学习之路(redis数据类型)

来源:互联网 发布:淘宝上尺码是什么意思 编辑:程序博客网 时间:2024/06/06 03:12

Redis的数据类型

1、string(字符串)

string是redis最基本的类型,一个key对应一个value。
string类型是二进制安全的(意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象)
string类型是Redis最基本的数据类型,一个redis中字符串value最多可以是512M。

2、hash(哈希,类似java里的Map)

Redis hash 是一个键值对集合。
Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象

3、list(列表)

Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的头部(左边)或者尾部(右边)。
它的底层实际是个链表

4、set(集合)

Redis的Set是string类型的无序集合。它是通过HashTable实现的。

5、zset(sorted set:有序集合)

Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。
redis正是通过分数来为集合中的成员进行从小到大的排序。zset的成员是唯一的,但分数(score)却可以重复。

6、HyperLogLog

Redis 在 2.8.9 版本添加了 HyperLogLog 结构
Redis HyperLogLog 是用来做基数统计的算法,HyperLogLog 的优点是,在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定 的、并且是很小的。
在 Redis 里面,每个 HyperLogLog 键只需要花费 12 KB 内存,就可以计算接近 2^64 个不同元素的基 数。这和计算基数时,元素越多耗费内存就越多的集合形成鲜明对比。
但是,因为 HyperLogLog 只会根据输入元素来计算基数,而不会储存输入元素本身,所以 HyperLogLog 不能像集合那样,返回输入的各个元素。

7、GEO(地理位置)

Redis 在 3.2.0 版本添加了 HyperLogLog 结构
将指定的地理空间位置(纬度、经度、名称)添加到指定的key中。
这些数据将会存储到sorted set中,这样的目的是为了方便使用GEORADIUS或者GEORADIUSBYMEMBER命令对数据进行半径查询等操作

原创粉丝点击