1.14.1.3.1. Redis端口由来和命令前缀PF由来


1.14.1.3.1.1. Redis端口由来

今天来聊一个有意思的话题:Redis 的默认端口为什么是 6379 呢?

Redis默认端口号的由来,Redis端口号为啥是6379?前几天Redis作者antirez同学在twitter上说将在下一篇博文中向大家解释为什么他选择6379作为默认端口号。而现在这篇博文出炉,在解释了Redis的LRU机制之后,如期向大家解释了采用6379作为默认端口的原因。

我之前也没有想过为什么Redis的默认端口是6379,估计是随便选的吧。然而今天偶然看到一篇帖子,原来不是随便选的,是有含义的。

文章地址

Is it a coincidence that it sounds not random enough? Actually not ;) I selected 6379 because of MERZ, and not the other way around.

听起来不够随机是一个巧合吗?实际上不是;)因为MERZ,所以我选择了6379,而不是相反。

Redis端口号6379是电话键盘上(九宫格)的MERZ。

而Merz全名Alessia Merz,是意大利的一位广告女郎

在Antirez看来,这个名字是愚蠢的代名词,所以就选了这个6379。我觉得还是有点侮辱人啊。不过这位姑娘应该也不会关心IT技术圈的事,反而会被广大程序员知道了。

Redis默认端口号的由来,Redis端口号为啥是6379?


1.14.1.3.1.2. Redis的数据类型HyperLogLogd的命令为什么是PF开头

PFADD key element [element ...] 添加指定元素到 HyperLogLog 中。

PFCOUNT key [key ...] 返回给定 HyperLogLog 的基数估算值。

PFMERGE destkey sourcekey [sourcekey ...] 将多个 HyperLogLog 合并为一个 HyperLogLog

HyperLogLog其实是一种基数计数概率算法,并不是Redis特有的,Redis基于C语言实现了HyperLogLog并且提供了相关命令API入口。

Redis的作者Antirez为了纪念Philippe Flajolet对组合数学和基数计算算法分析的研究,所以在设计HyperLogLog命令的时候使用了Philippe Flajolet姓名的英文首字母PF作为前缀。

也就是说,Philippe Flajolet博士是HLL算法的重大贡献者,但是他其实并不是Redis中HyperLogLog数据类型的开发者。

遗憾的是Philippe Flajolet博士于2011年3月22日因病在巴黎辞世。这个是Philippe Flajolet博士的维基百科照片:


Copyright © 2018-2021 | Distributed under CC BY 4.0 | Peter all right reserved,powered by Gitbook Updated at 2023-03-25 00:08:43

results matching ""

    No results matching ""