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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis学习笔记13Redis数据类型之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数据类型之HyperLogLogs类型的主要内容,如果未能解决你的问题,请参考以下文章

Redis学习笔记-数据类型之string类型

Redis学习笔记08Redis数据类型之 字符串类型

Redis学习笔记09Redis数据类型之 哈希表类型

Redis学习笔记 ---- PHP操作Redis各数据类型

Redis学习笔记 之 String类型

NoSQL学习笔记之——Redis基础