Nous pouvons comprendre ce que sont les statistiques de cardinalité directement à travers un exemple, tel que l'ensemble de données {1, 2, 3, 3, 5, 5,}, alors l'ensemble de cardinalité de cet ensemble de données est { 1, 2, 3, 5}, la base (éléments non répétitifs) est 4. C'est-à-dire que c'est le nombre d'éléments non répétitifs.
Chaque clé HyperLogLog ne coûte que 12 Ko de mémoire et peut calculer la cardinalité de près de 2^64 éléments différents. Cela contraste fortement avec une collection qui consomme plus de mémoire lors du calcul de la cardinalité. Plus il y a d'éléments, plus la mémoire est consommée. Si vous souhaitez comparer du point de vue de la mémoire, Hyperloglog est le premier choix.
uv d'une page Web (une personne visite un site Web plusieurs fois, mais est toujours comptée comme une seule personne)
Commandes et descriptions | #🎜 🎜 # |
---|---|
PFADD key element [element ...] | Ajoutez l'élément spécifié à HyperLogLog.|
PFCOUNT key [key ...] | Renvoie l'estimation de cardinalité pour l'HyperLogLog donné.|
PFMERGE destkey sourcekey [sourcekey ...] | Fusionner plusieurs HyperLogLogs en un seul HyperLogLog #🎜 🎜# |
1#🎜 🎜# | |
---|---|
Ajouter l'emplacement géospatial spécifié (latitude, longitude, nom) à la clé spécifiée | #🎜🎜 ##🎜 🎜#2 GEOPOS key location name |
3 GEODIST key Emplacement 1 Emplacement 2 Unité | |
4 | GEORADIUS clé longitude latitude plage unité numérique |
5 #🎜 🎜 #GEORADIUSBYMEMBER key Unité numérique de distance de localisationTrouver l'élément situé dans la plage spécifiée Le point central est déterminé par l'élément de position donné | |
GEOHASH key Emplacement 1 Emplacement 2 renverra une chaîne Geohash de 11 caractères Si les deux chaînes sont proches, plus elles sont proches. | |
zrange key start stopObtenir les informations de coordonnées dans la clé spécifiée#🎜 🎜 # | |
emplacement de la clé zrem | Supprimer les données de la cible spécifiée sous la clé spécifiée# 🎜🎜## 🎜🎜# 查询地点经纬度: 城市经纬度查询-国内城市经度纬度在线查询工具 2.4 详细讲解2.4.1 GEOADD作用:添加地理位置 规则:两级无法直接添加,我们一般会下载城市数据,直接通过java程序一次性导入! 语法:GEOADD key 经度 纬度 地点名称 注意事项 有效的经度从-180度到180度。 有效的纬度从-85.05112878度到85.05112878度。 当坐标位置超出上述指定范围时,该命令将会返回一个错误。 使用 #添加单个信息 127.0.0.1:6379> geoadd address 116.708463 23.37102 shantou (integer) 1 #添加多个信息 127.0.0.1:6379> geoadd address 116.405285 39.904989 beijin 121.472644 31.231706 shanghai (integer) 2 Copier après la connexion 2.4.2 GEOPOS作用:获得指定地点的位置信息(经纬度) 语法:GEOPOS key 地点名称 使用 127.0.0.1:6379> geopos address beijin #获得北京的地理位置 1) 1) "116.40528291463851929" #经度 2) "39.9049884229125027" #纬度 Copier après la connexion 2.4.3 GEODIST作用:返回两个给定位置之间的距离,如果两个位置之间的其中一个不存在, 那么命令返回空值。 语法:GEODIST key 地点1 地点2 单位 单位参数:
如果用户没有显式地指定单位参数, 那么 GEODIST 默认使用米作为单位。 使用: 127.0.0.1:6379> geodist address beijin shanghai km #查询北京与上海之间的距离 "1067.5980" Copier après la connexion 2.4.4 GEORADIUS作用:以给定的经纬度为中心, 找出某一半径内的元素。 语法:GEORADIUS key 经度 纬度 范围数值 单位 使用: #查找以116,39这个经纬度为中心,寻找方圆1500km的城市 127.0.0.1:6379> georadius address 116 39 1500 km 1) "shanghai" 2) "beijin" # 显示到中间距离的位置 127.0.0.1:6379> georadius address 116 39 1500 km withdist 1) 1) "shanghai" 2) "996.7313" 2) 1) "beijin" 2) "106.5063" #显示他人的定位信息 127.0.0.1:6379> georadius address 116 39 1500 km withcoord 1) 1) "shanghai" 2) 1) "121.47264629602432251" 2) "31.23170490709807012" 2) 1) "beijin" 2) 1) "116.40528291463851929" 2) "39.9049884229125027" #筛选出最近的城市以及显示其距离 127.0.0.1:6379> georadius address 116 39 1500 km withdist withcoord count 1 1) 1) "beijin" 2) "106.5063" 3) 1) "116.40528291463851929" 2) "39.9049884229125027" #筛选最近两个城市以及显示其距离 127.0.0.1:6379> georadius address 116 39 1500 km withdist withcoord count 2 1) 1) "beijin" 2) "106.5063" 3) 1) "116.40528291463851929" 2) "39.9049884229125027" 2) 1) "shanghai" 2) "996.7313" 3) 1) "121.47264629602432251" 2) "31.23170490709807012" Copier après la connexion 2.4.5 GEORADIUSBYMEMBER作用:找出位于指定范围内的元素,中心点是由给定的位置元素决定。 语法:GEORADIUSBYMEMBER key 地点 距离数值 单位 使用: #找出距离北京方圆1500km内的城市 127.0.0.1:6379> georadiusbymember address beijin 1500 km 1) "shanghai" 2) "beijin" Copier après la connexion 2.4.6 GEOHASH作用:将返回11个字符的Geohash字符串,如果两个字符串越接近,那么则距离越近。 语法:GEOHASH key 地点1 地点2 ???? 使用: 127.0.0.1:6379> geohash address beijin shantou 1) "wx4g0b7xrt0" 2) "ws4uzy8d030" Copier après la connexion 2.4.7 ZRANGE作用:获得指定key中坐标信息。 语法:zrange key start stop 使用: 127.0.0.1:6379> zrange address 0 -1 1) "shantou" 2) "shanghai" 3) "beijin" Copier après la connexion 2.4.8 ZREM作用:删除指定key下指定目标的数据。 语法:zrem key 地点 使用: 127.0.0.1:6379> zrem address shanghai (integer) 1 Copier après la connexion 三、BitMap介绍BitMap是通过一个bit位来表示某个元素对应的值或者状态,只有0 和 1 两个状态,其中的key就是对应元素本身。365 天 = 365 bit ,1字节 = 8bit ,也就是说统计一年的用户状态只需要46 个字节左右,所以其能够节省很大的空间。 应用场景
使用
127.0.0.1:6379> setbit sign 0 1 (integer) 0 127.0.0.1:6379> setbit sign 1 1 (integer) 0 127.0.0.1:6379> setbit sign 2 0 (integer) 0 127.0.0.1:6379> setbit sign 3 1 (integer) 0 127.0.0.1:6379> setbit sign 4 1 (integer) 0 127.0.0.1:6379> setbit sign 5 0 (integer) 0 127.0.0.1:6379> setbit sign 6 0 (integer) 0 Copier après la connexion 查看某一天是否有打卡 127.0.0.1:6379> getbit sign 3 (integer) 1 127.0.0.1:6379> getbit sign 6 (integer) 0 Copier après la connexion 统计本周的打卡记录 127.0.0.1:6379> bitcount sign (integer) 4 Copier après la connexion |
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!