首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Redis - 超越缓存的多面手

    计数器 我们可以计算文章的点赞数或阅读次数。 速率限制器 我们可以为特定用户IP应用速率限制。 全局ID生成器 我们可以使用Redis Int生成全局ID。...购物车 我们可以使用Redis Hash表示购物车中的键值对。 计算用户留存 我们可以使用位图表示用户每日登录情况并计算用户留存率。 消息队列 我们可以使用List作为消息队列。...分布式锁: 使用Redis的分布式锁功能,不同服务之间可以协调并避免重复执行特定任务,确保数据一致性。 计数器: Redis可用于跟踪和更新计数器,例如点赞数、阅读次数等。...全局ID生成器: Redis中的自增计数器可用于生成全局唯一的ID,特别是在分布式系统中。 购物车: Redis的Hash数据结构可用于存储购物车中的商品信息,以便实时更新和管理。...用户留存分析: 使用Redis的位图功能,可以跟踪用户的每日登录情况,并进一步分析用户留存率和行为。

    19130

    研发实用工具,推荐一款代码统计神器GitStats

    但对于大型的项目,这些简单的可视化工具远远不足以了解项目完整的开发历史,一些定量的统计数据(如每日提交量,行数等)更能反映项目的开发进程和活跃性。...今天给大家推荐的这款工具:GitStats,它能生成如下的一些统计数据,并且可以图表形式进行展示对比。 2....可以帮助你查看git仓库的提交状态,根据不同维度分析计算,并自动生成数据图表。...活跃性:每天中每小时的、每周中每天的、每周中每小时的、每年中每月的、每年的提交量。 作者数:列举所有的作者(提交数,第一次提交日期,最近一次的提交日期),并按月和年来划分。...时间维度的效率分析:每天中每小时的、每周中每天的、每周中每小时的、每年中每月的、每年的提交量。 ? ? 2.

    3.5K20

    概率数据结构:Hyperloglog算法

    也就是说: 假设我们有一个1.000.000个ID的集合 2%的错误意味着有可能在计算基数时错过1.000.000个唯一身份用户,为20.000 然后,我们可以得到以下两种最坏情况(1.000.000-...性能比较 首先我们计算文章开头所提出的方案,如果我们要统计日访问量、周访问量和月访问量,那么使用集合统计ID的方案中,需要56个计数器,其中统计一周7天每天需要5个,一个月4周每周5个,再加上一个统计月访问量...,共需56个计数器,每个计数器8GB的话,则需要450GB存储空间才能完成任务。...如果采用第二套方案的话,每个计数器采用HLL结构。由于每个HLL结构在Redis实现中具有12kb的固定大小,我们的56个结构总共使用672kb,小于我们之前的解决方案的内存要求的0.00014%。...虽然HLL方案有一定的误差。但在我们的案例中,1%的错误率是可以接受的,因为我们的结果用于图表可视化,不需要精确数据,只需要代表性数据即可。

    5K20

    图解ZooKeeper的典型应用场景

    每次创建顺序节点时,zk都会在路径后面自动添加上10位的数字(计数器),例如 0000000001,0000000002,……这个计数器可以保证在同一个父节点下是唯一的。...3 生成分布式唯一ID 在过去的单库单表型系统中,通常可以使用数据库字段自带的auto_increment属性来自动为每条记录生成一个唯一的ID。...master选举 5 分布式锁 在同一个JVM中,为了保证对一个资源的有序访问,如往文件中写数据,可以用synchronized或者ReentrantLock来实现对资源的互斥访问,如果2个程序在不同的...JVM中,并且都要往同一个文件中写数据,如何保证互斥访问呢?...当前获取锁的客户端发生宕机,那么zookeeper上的这个临时节点就会被删除 正常执行完业务逻辑后,客户端会主动将自己创建的临时节点删除 整个排他锁的获取和释放流程可以用如下图表示 ?

    52330

    【算法千题案例】每日LeetCode打卡——70.字符串中的第一个唯一字符

    原题样例:字符串中的第一个唯一字符 ????C#方法 ????Java 方法:使用哈希表存储频数 ????总结 ---- ????前言 ???? 算法题 ???? ????...原题样例:字符串中的第一个唯一字符 给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。...99.50%的用户 内存消耗:43.4 MB,在所有 Java 提交中击败了16.50%的用户 ---- ????...在第一次遍历时,我们使用哈希映射统计出字符串中每个字符出现的次数。 在第二次遍历时,我们只要遍历到了一个只出现一次的字符,那么就返回它的索引,否则在遍历结束后返回 −1。...39.26%的用户 内存消耗:38.2 MB,在所有 Java 提交中击败了88.05%的用户 复杂度分析 时间复杂度:O( n ) 空间复杂度:O( |Σ|) ---- ????

    29950

    《Learning ELK Stack》7 Kibana可视化和仪表盘

    举个例子,如果指定@timestamp字段作为桶,且时间区间为一周,那么文档将基于每周的数据分组,然后可以对分组后的文档计算度量,如计数、求平均值等 直方图 直方图与日期直方图相似,除了要求指定的字段和区间都是数字类型的...度量的可用类型如下 Count(计数) Average(平均值) Sum(求和) Unique Count(唯一值计数) Min(最小值) Max(最大值) Percentile(百分比) Percenntile...相应地为聚合中的数字字段计算平均值、求和、最小值 和最大值 Unique Count 类似于SQL中的COUNT (DISTINCT fieldname)功能,计算出字段的唯一值的数量 ?...还可以在桶中定义子聚合,用来实现图表分割(Split Charts,分割成基于不同聚合的多个图表)或者区域分割(Split Area,分割成基于不同聚合的区域)的功能 ?...饼图 通常用于显示整体中各个部分或者其百分比关系。饼图中的片代表了数据的分布。饼图中片的值 是由度量聚合决定的,例如Count、Sum,或者Unique Count。桶聚合则定义了图表中的数据类型。

    2.9K31

    使用Redis Bitmap简单快速实时计算指标

    要计算每周或每月度量指标,我们可以简单地计算一周或一个月中所有每日 Bitmap 的并集,然后计算结果 Bitmap 的总体基数。 ? 你还可以非常轻松地提取更复杂的指标。...通过组合每日 Bitmap 计算7日和30日指标: 周期 耗时 (MS) 每日 50.2 每周 392.0 每月 1624.8 6....优化 在上面的示例中,我们可以通过在 Redis 中缓存计算的每日,每周,每月计数来优化每周和每月计算。 这是一种非常灵活的方法。...缓存的另一个好处是它允许快速群组分析,例如使用手机的每周唯一用户 - 手机用户 Bitmap 与每周活跃用户 Bitmap 的交集。...或者,如果我们想要滚动计算过去n天内的唯一用户,那么缓存每日唯一用户的计数会使这变得简单 - 只需从缓存中获取前n-1天并将其与实时每日计数结合起来即可,而这只需要50ms。 7.

    2K30

    大数据ELK(二十七):数据可视化(Visualize)

    数据可视化(Visualize)Kibana中的Visualize可以基于Elasticsearch中的索引进行数据可视化,然后将这些可视化图表添加到仪表盘中。...,文字的大小与其重要性相关Timelion 从多个时间序列数据集来展示数据地图 展示地理位置数据热图 在矩阵的单元格展示数据图片仪表盘工具 Markdown部件:显示一些MD格式的说明控件..._200)三、以条形图方式展示2020年5月每日请求数 效果如下:图片开发步骤:图片图片我们还可以修改图形的样式,例如:以曲线、面积图的方式展示。...创建TSVB可视化对象图片 配置Time Series数据源分组条件图片图片配置Metric图片图片 TopN图片五、制作用户选择请求方式、响应字节大小控制组件1、控制组件在Kibana中,我们可以使用控件来控制图表的展示...例如:提供一个下列列表,供查看图表的用户只展示比较关注的数据。我们可以添加两个类型的控制组件:选项列表根据一个或多个指定选项来筛选内容。

    2K32

    redis实际应用-限流

    为什么要做限流 首先让我们先看一看系统架构设计中,为什么要做“限流”。...软件架构中的服务限流也是类似,也是当系统资源不够的时候,已经不足以应对大量的请求,为了保证服务还能够正常运行,那么按照规则,「系统会把多余的请求直接拒绝掉,以达到限流的效果」; 不知道大家注意过没有,比如双...滑动窗口算法 还拿上面的例子,一分钟分6份,每份10秒;每过10秒钟,我们的时间窗口就会往右滑动一格,每个格子都有独立的计数器,我们每次都计算时间窗口内的数量,可以解决计数器法中的问题,而且当滑动窗口的格子越多...因为这几个连续的 Redis 操作都是针对同一个 key 的,使用 pipeline 可以显著提升Redis 存取效率。...后面还有漏桶算法和令牌桶算法,由于各自的实现比较复杂,所以准备各自新开一篇文章单独描述 另外我建立了一个互联网后端学习交流群,里面有很多专门做后端的朋友一起交流学习,也会有一些公司的内推,后面更是准备推出每日一题环节以供大家一起交流成长

    70740

    第十四章·Kibana深入-Timelion画图实现系统监控

    ---- 什么是Timelion? Timelion使你可以轻松获得以下问题的答案: 1)随着时间的推移,每个唯一的用户会查看多少个页面? 2)这个星期五和上周五之间的交通量有什么不同?...使用Timelion特定语法,您通过将功能链接在一起来定义图形,而不是使用可视化编辑器创建图表。该语法启用了经典点系列图不提供的一些功能,如将不同索引或数据源的数据绘制到一个图形中。...  ---- 定制和格式化可视化 Timelion有很多定制选项,你几乎可以使用可用的函数对图表的每个方面进行个性化设置,执行以下修改。...你将继续使用Metricbeat数据为入站和出站网络流量创建新的Timelion可视化,首先,需要在工作表中添加一个新的Timelion可视化。...在顶部菜单中,单击Add添加第二个可视化,当添加到工作表中时,你会注意到查询栏已经被替换为默认的.es(*)表达式,这是因为查询与你选择的Timelion工作表上的可视化相关联。

    66610

    Redis特殊数据结构 - Java技术债务

    并且,Redis 对 HyperLogLog 的存储结构做了优化,采用两种方式计数: 稀疏矩阵:计数较少的时候,占用空间很小。 稠密矩阵:计数达到某个阈值的时候,占用 12k 的空间。...Redis 官方文档中有对应的详细说明: 基数计数概率算法为了节省内存并不会直接存储元数据,而是通过一定的概率统计方法预估基数值(集合中包含元素的个数)。...添加一个或多个元素到 HyperLogLog 中 PFCOUNT key1 key2 获取一个或者多个 HyperLogLog 的唯一计数。...将多个 HyperLogLog 合并到 destkey 中,destkey 会结合多个源,算出对应的唯一计数。...举例:热门网站每日/每周/每月访问 ip 数统计、热门帖子 uv 统计、 相关命令:PFADD、PFCOUNT 。

    9210

    简单五步:利用Gitstats给代码仓库做一次体检

    但这些简单的可视化工具远远不足以了解项目完整的开发历史,类似于gitstats的定量统计数据工具则(如每日提交量,行数等)更能反映项目的开发进程和活跃性。...Gitstats 是什么 gitstats 是一个git仓库分析软件,可以帮助你查看git仓库的提交状态,根据不同维度分析计算,并自动生成数据图表。...GitStats所生成统计信息常用分为如下几类: 常规的统计:文件总数,行数,提交量,作者数。 活跃性:每天中每小时的、每周中每天的、每周中每小时的、每年中每月的、每年的提交量。...:gitstats.py 我们可以通过修改 gitstats 脚本的内容,设置仓库统计数据的范围 (开始日期是2020年1月1日, 'start_date': 'Wed Jan 1 00:00:00...总结 至此,我们完成了搭建gitstats工具,以及利用该神器完成:查看git仓库的提交状态,根据不同维度分析计算数据,并自动生成数据图表的过程。

    3.9K20

    如何使用CORNERSTONE提高企业生产力

    状态分布是以饼状图的形式显示进行中/已完成/已取消这三个状态的占比。成员分布统计的是每个成员的完成状况,通过这个统计可查看团队成员项目完成情况。...项目报表 由迭代燃尽图、代码提交统计、状态分布统计、每日新增曲线,每日完成曲线、累计数量曲线以及成员工时列表这七种图表构成,可以帮助管理层全面掌握项目动态。...代码提交统计 选择项目和迭代,查看统计结果,会出现“每日提交行数”、“累计提交行数”、“提交作者分布”三种图表,通过这三个图表可查看团队工作进度和个人工作贡献。...累计完成曲线选择项目、迭代、类型、开始/结束时间进行查询,可筛选出对应范围内的该类型的累计数量曲线,移动鼠标可查看具体日期的累计数量。...先从【需求】说起,任何人在CORNERSTONE系统中建立起一个需求,都可以指派负责人,并且支持同一个任务指派多位负责人,同时支持项目和缺陷/任务进行关联,这可以解决一个什么问题呢?

    75820

    程序员实用工具,推荐一款代码统计神器GitStats

    但对于大型的项目,这些简单的可视化工具远远不足以了解项目完整的开发历史,一些定量的统计数据(如每日提交量,行数等)更能反映项目的开发进程和活跃性。...今天给大家推荐的这款工具:GitStats,它能生成如下的一些统计数据,并且可以图表形式进行展示对比。 2....可以帮助你查看git仓库的提交状态,根据不同维度分析计算,并自动生成数据图表。...活跃性:每天中每小时的、每周中每天的、每周中每小时的、每年中每月的、每年的提交量。 作者数:列举所有的作者(提交数,第一次提交日期,最近一次的提交日期),并按月和年来划分。...时间维度的效率分析:每天中每小时的、每周中每天的、每周中每小时的、每年中每月的、每年的提交量。 2.

    2.2K30

    PostgreSQL技术大讲堂 - 第34讲:调优工具pgBagder部署

    最耗时的准备/绑定查询。 · 还提供分为五分钟的小时图表 SQL查询统计信息。 临时文件统计。 检查点统计。 自动真空和自动分析统计数据。 取消的查询。...每个数据库/用户/客户端/应用程序的连接数。 根据表格自动真空和自动分析。 每个用户的查询数和每个用户的总持续时间。 所有图表都是可缩放的,可以保存为PNG图像。...data/pg_log/postgresql-2020-06-19_00*.log \ -o /home/postgres/www/pg_reports/day-06-19-00.html --产生每日和每周的日志报告...这意味着可以在每周旋转的日志文件上每天以这种模式运行pgBadger,并且它不会对日志条目计数两次,可以使用crontab进行定时运行。...如果报表是使用此选项生成的,请使用-E或--explode。 --默认情况下,增量模式下的pgBadger只计算每日和每周报告。如果需要每月累积报告,则必须使用单独的命令指定要生成的报告。

    37050

    排序数组中的单个元素

    每日一题系列大改版了! 因为我发现每日一题太难了,,,总会出现一些加班已经很累了(懒得不想动)的时候,而且周末有事多做两道题都叫做同一天的每日一题也让我这个强迫症贼难受. 因此!...[每日一题]系列从今天开始变为[随缘一题]系列! 来源: lintcode-排序数组中的单个元素 描述 给定一个排序数组,只包含整数,其中每个元素出现两次,除了一个出现一次的元素。...我当然是回答出来了粗暴的版本,比如:遍历计数.[Facepalm] 言归正传,这道题其实不算难题,可以通过很多暴躁的方法来解决,比如: 遍历计数....遍历数组,对每个元素进行计数,之后返回只出现一次的元素. 逐个消除....出现两次的数字异或之后都为0,拿到0和唯一出现一次的数字异或,结果就是所求的只出现一次的数字. 所以此题的机智的解法就是:对数组中的所有数字异或即可.

    2.2K40
    领券