一 概述
Redis是目前较为主流的NoSQL数据库,它不仅仅支持简单的key-value类型的数据,同时还提供了String,List,hash,set,zset等数据结构的存储。
二 不同数据类型的CURD操作
1 String
set key value //设置指定key的值,或者将key之前指定的值修改为当前值
![]()

get key //获取指定key的值
![]()
2 Hash
hset key field value//将哈希表key中的字段field的值设置为value
![]()
hget city name//获取哈希表中key字段的值

3 List
LPUSH key value1 //将一个或多个值插入到列表头

![]()
LPOP key //移出并获取列表的第一个元素,返回值是移出的元素
![]()
4 set
sadd key member1 member2 //向集合中添加一个或者多个成员
![]()
spop key //移除并返回集合中的一个随机元素
![]()
5 sorted set (zset)
zadd key score member score1 member1 //向有序集合中添加一个或多个成员,或者更新已经存在成员的分数
![]()
zcard key //获取有序结合中的成员数
![]()
三 Redis中的HyperLogLog
Redis在2.8.9版本中添加了HyperLogLog结构,它是用来做基数统计的算法,HyperLogLog的优点是,在输入元素的数量或者体积非常非常大时,计数基数所需要的空间总是固定的,并且时很小的。
在Redis中,每个HyperLogLog键只需要花费12KB内存,就可以计算接近2^64个不同元素的基数。这不同于和计数基数时,元素越多耗费内存就越多的集合。但是,因为HyperLogLog只会根据输入元素来计算基数,而不会储存输入元素本身,所以HyperLogLog不能像结合那样,返回输入的各个元素。
补充基数:如数据集{1,3,5,7,5,7,8},那么整个数据集的基数集为{1,3,5,7,8},则基数为5,即不重复的数据的个数。基数估计就是在误差可接受的范围内,快速计算基数。
PFADD key element //添加指定元素到HyperLogLog中


PFCOUNT key //返回给定的HyperLogLog的基数估算值


PFMERGE destkey sourcekey1 sourcekey2

Redis数据类型与HyperLogLog详解
本文详细介绍了Redis数据库的不同数据类型及其CURD操作,包括String、List、Hash、Set和Sorted Set。同时深入探讨了Redis中的HyperLogLog结构,这是一种高效的基数统计算法,仅需固定的小内存即可处理大量数据的基数计算。

被折叠的 条评论
为什么被折叠?



