Redis HyperLogLog是一种使用随机化的算法,以少量内存提供集合中唯一元素数量的近似值。比如 {‘apple’, ‘banana’, ‘cherry’, ‘banana’, ‘apple’} 基数为3 优点:即使输入元素的数量或者体积非常非常大,计算基数所需的空间总是固定的12 KB 内存。这和计算基数时,元素越多耗费内存就越多的集合形成鲜明对比。 缺点:只会根据输入元素来计算基数,并且会有少许的误差。
编号 | 命令 | 描述 |
---|---|---|
1 | PFADD key element [element …] | 将指定的元素添加到指定的HyperLogLog 中。 |
2 | PFCOUNT key [key …] | 返回给定 HyperLogLog 的基数估算值。 |
3 | PFMERGE destkey sourcekey [sourcekey …] | 将多个 HyperLogLog 合并为一个 HyperLogLog |
发送者(发布者)不是计划发送消息给特定的接收者(订阅者)。而是发布的消息分到不同的频道,不需要知道什么样的订阅者订阅。订阅者对一个或多个频道感兴趣,只需接收感兴趣的消息,不需要知道什么样的发布者发布的。这种发布者和订阅者的解耦合可以带来更大的扩展性和更加动态的网络拓扑。 Redis事务
事务可以一次执行多个命令, 并且带有以下两个重要的保证:
过去:客户端向服务端发送一个查询请求,并监听Socket返回,通常是以阻塞模式,等待服务端响应 现在:在旧的请求还未响应前,新的请求也能发送到服务器并处理。这样就可以将多个命令发送到服务器,而不用等待回复,最后在一个步骤中读取该答复。 Redis Lua 脚本
功能强大,可以实现事务,管道等功能。并且读取延时更小。 将Redis当做使用LRU算法的缓存来使用
大量插入数据
分区(Partitioning):如何将你的数据分布在多个Redis里面
分区是将数据拆分为多个Redis实例的过程,因此每个实例只包含一部分键。
分区的优点: 它允许更大的数据库,使用更多计算机的内存总和。如果没有分区,则限制为单个计算机可以支持的内存量。 它允许将计算能力扩展到多个核心和多个计算机,并将网络带宽扩展到多个计算机和网络适配器。
缺点:操作更加复杂
分区类型
Redis中有两种类型的分区。假设有四个Redis实例:R0,R1,R2,R3以许多代表用户的键,如user:1,user:2,…等等。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。