数据类型

(1)String (字符串)
string 是redis最基本的类型,一个key对应一个value
string可以包含任何数据,如jpg,序列化对象

set name qiao--ok
get name --"qiao"

(2)Hash(哈希)
hash是一个键值对(key==>value)集合
hash是一个字符串类型的field和value的映射表,适用于存储对象

hmset person name qiao age 18 --ok
hget person name --"qiao"
hget person age --18

(3)List(列表)
list是简单得字符串列表,按照插入顺序排序,可以插在头部或者尾部

lpush person qiao --(integer) 1
lpush person wang--(integer) 2
lpush person zhao --(integer) 3

lpush person qiao wang zhao

lrange person 0 2
1)"qiao"
2)"wang"

(4)set (集合)
set是string类型的无序集合
集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)
添加string元素到key对应的集合中,成功返回1,如果已经存在,返回0

sadd person name --(integer) 1
sadd person age --(integer) 1
sadd person income --(integer) 1
sadd person income --(integer) 0set

sadd person name age income

 

smembers perosn
1)"age"
2)"name"
3)"income"


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

zadd person 0 name --(integer) 1
zadd person 0 age --(integer) 1
zadd perosn 0 income --(integer) 1
zadd person 0 income --(integer) 0

zadd person 0 name 9 age 3 income

zrangebyscore person 0 5
1)"age"
2)"name"
3)"income"

(6 )HyperLogLog:基数统计

-HyperLogLog计算基数所需的空间是固定的,并且很小。集合元素越多,耗费内存越多
-HyperLogLog只会根绝输入元素来计算基数,不会存储输入元素,不能返回元素,集合可以返回元素


数据集{1,3,5,7,5,7,8} ,基数集为{1,3,5,7,8}

// 添加指定元素
pfadd person qiao
pfadd person wang
pfadd person zhao

pfadd person1 qiao
pfadd person1 li

pfcount person --统计基数估算值
pfmerge person2 person person1 --将person和person1合并为person2

posted on 2020-03-21 11:53  happygril3  阅读(150)  评论(0)    收藏  举报

导航