数据类型
(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) 收藏 举报
浙公网安备 33010602011771号