首页 > 代码库 > Redis学习笔记13Redis数据类型之(6)HyperLogLogs类型

Redis学习笔记13Redis数据类型之(6)HyperLogLogs类型

1.1.1. pfadd

向指定的hyperloglog中添加一个或多个元素。hyperloglog中重复的元素将被合并成一个元素。

 

语法:

PFADD key element [element ...]

参数:

key: 键名,键值为一个hyperloglog对象。

element:待添加的元素。

返回值:

1hyperloglog的基数评估变化了。

0: 没有变化。

 

例子:

redis.coe2coe.me:6379> pfadd myhpp green blue yellow

(integer) 1

redis.coe2coe.me:6379> pfadd myhpp green red blue

(integer) 1

redis.coe2coe.me:6379> pfadd myhpp red

(integer) 0

redis.coe2coe.me:6379> pfcount myhpp

(integer) 4

 

 

1.1.2. pfcount

 

语法:

PFCOUNT key [key ...]

参数:

key:键名,键值为hyperloglog对象。

返回值:

整数:各个hyperloglog对象的基数之和,近似等于元素个数的总和。

 

例子:

redis.coe2coe.me:6379> pfadd myhpp green blue yellow

(integer) 1

redis.coe2coe.me:6379> pfadd myhpp green red blue

(integer) 1

redis.coe2coe.me:6379> pfadd myhpp red

(integer) 0

redis.coe2coe.me:6379> pfcount myhpp

(integer) 4

redis.coe2coe.me:6379> pfcount myhpp

(integer) 4

redis.coe2coe.me:6379> pfadd myhpp2 green red blue

(integer) 1

redis.coe2coe.me:6379> pfcount myhpp myhpp2

(integer) 4

redis.coe2coe.me:6379> pfadd myhpp3 hello

(integer) 1

redis.coe2coe.me:6379> pfcount myhpp myhpp2 myhpp3

(integer) 5

 

 

1.1.3. pfmerge

将指定的hyperloglog对象中的元素全部合并到另一个指定的hyperloglog对象中。

 

语法:

PFMERGE destkey sourcekey [sourcekey ...]

 

参数:

destkey:键名,目标对象的键名。合并前已经存在的元素不会被删除。

sourcekey:键名,源对象的键名。

 

返回值:

OK:操作成功。

 

例子:

redis.coe2coe.me:6379> pfadd myhpp green blue yellow

(integer) 1

redis.coe2coe.me:6379> pfadd myhpp green red blue

(integer) 1

redis.coe2coe.me:6379> pfadd myhpp red

(integer) 0

redis.coe2coe.me:6379> pfadd myhpp2 green red blue

(integer) 1

redis.coe2coe.me:6379> pfadd myhpp3 hello

(integer) 1

redis.coe2coe.me:6379> pfcount myhpp myhpp2 myhpp3

(integer) 5

redis.coe2coe.me:6379> pfmerge dst myhpp myhpp2 myhpp3

OK

redis.coe2coe.me:6379> pfcount dst

(integer) 5

 

redis.coe2coe.me:6379> pfadd dst test

(integer) 1

redis.coe2coe.me:6379> pfcount dst

(integer) 6

redis.coe2coe.me:6379> pfmerge dst myhpp myhpp2 myhpp3

OK

redis.coe2coe.me:6379> pfcount dst

(integer) 6

 

Redis学习笔记13Redis数据类型之(6)HyperLogLogs类型