使用场景Redis 的 HyperLogLog 数据结构适用于需要进行基数(cardinality)估计的场景,即需要统计某个集合中不同元素的数量。HyperLogLog 是一种概率性算法,可以在极小的内存空间下完成基数估计。因此,它广泛应用于大规模数据集的基数估计和去重等场景,如:统计网站独立 IP 数量:使用 HyperLogLog 可以快速地统计网站独立 IP 的数量,而无需对所有 IP 进
# 如何在 Hyperf 中接入 Redis 在现代的 web 开发中,Redis 是一个广泛使用的内存数据存储系统,常用于缓存、会话存储和消息队列等场景。Hyperf 作为一个高性能 PHP 框架,提供了良好的 Redis 支持。本文将介绍如何在 Hyperf 中接入 Redis,并使用示例代码进行演示。 ## 1. Hyperf 环境搭建 在开始之前,请确保你已经安装了 Composer
原创 17天前
32阅读
# Hyperf Redis Push 实现教程 ## 1. 流程概述 在实现Hyperf Redis Push之前,我们先来了解一下整个流程。下面是一个简要的流程图: ```mermaid stateDiagram [*] --> 开始 开始 --> 连接Redis 连接Redis --> 发布消息 发布消息 --> 结束 结束 --> [*] ``
原创 2023-10-17 11:50:00
46阅读
1、HyperLogLog算法时一种非常巧妙的近似统计大量去重元素数量的算法,它内部维护了16384个桶来记录各自桶的元素数量,当一个元素过来,它会散列到其中一个桶。当元素到来时,通过 hash 算法将这个元素分派到其中的一个小集合存储,同样的元素总是会散列到同样的小集合。这样总的计数就是所有小集合大小的总和。使用这种方式精确计数除了可以增加元素外,还可以减少元素。一个HyperLogLog实际占
本篇文章介绍Redis协议、内存模型、持久化以及分布式解决方案。1. redis协议:redisClient与redisServer之间的通信协议叫:RESP (REdis Serialization Protocol)。RESP遵循Request-Response模型,具体实现如下:Clients send commands to a Redis server as a RESP Array
# Hyperf Redis 跨主机实现流程 ## 介绍 在本文中,我将向你介绍如何使用 Hyperf 框架实现 Redis 跨主机的功能。首先,我们需要了解 Redis 是什么,以及为什么需要设置跨主机的功能。然后,我将详细介绍实现跨主机的步骤,并提供相应的代码示例和注释。 ## Redis简介 Redis是一个开源的内存数据结构存储系统,它支持多种数据结构,如字符串、哈希表、列表、集合、有
原创 2023-09-11 08:37:04
68阅读
# Hyperf Redis 延时队列实现指南 在微服务架构中,任务的异步处理变得越来越重要。Redis 提供了优秀的能力来实现延迟任务队列,本文将带领你一步步实现 `Hyperf` 框架中的 Redis 延时队列功能。 ## 流程概览 在实现 Redis 延时队列之前,我们需要了解整个流程。以下是关键步骤的概述: | 步骤 | 描述 | | ---- | ---- | | 1. 安装 H
原创 2月前
62阅读
# 使用 Hyperf Redis 存储 List 在现代的 Web 开发中,缓存是一个非常重要的概念。而 Redis 是一个非常流行的内存数据库,它被广泛用于缓存、会话管理等方面。Hyperf 是一个基于协程的高性能 PHP 框架,它提供了对 Redis 的支持,可以方便地在 Hyperf 中操作 Redis。 在本文中,我们将介绍如何在 Hyperf 中使用 Redis 存储 List 数
原创 7月前
94阅读
# Hyperf Redis队列超时实现指南 ## 简介 本文将介绍如何在 Hyperf 框架中实现 Redis 队列超时功能。我们将从整体流程开始,包括安装依赖、配置队列、编写任务和调用任务等步骤,以帮助刚入行的小白开发者掌握此技能。 ## 整体流程 下表是实现 Redis 队列超时的整体流程: | 步骤 | 描述 | | --- | --- | | 步骤一:安装依赖 | 安装 Red
原创 2023-08-21 08:11:43
242阅读
# Hyperf Redis连接超时 在使用 Hyperf 框架开发应用程序时,我们经常会使用 Redis 来进行缓存、队列等操作。然而,有时我们可能会遇到 Redis 连接超时的问题,这会导致应用程序无法正常工作。本文将讨论这个问题的原因和解决方法,并通过代码示例来演示如何解决该问题。 ## 问题分析 当我们在 Hyperf 框架中连接 Redis 时,可能会遇到以下情况导致连接超时:
原创 10月前
139阅读
Hyperf v1.0 发布,全新企业级的 PHP 协程框架 HyperfHyperf 是基于 Swoole 4.3+ 实现的高性能、高灵活性的 PHP 协程框架,内置协程服务器及大量常用的组件,性能较传统基于 PHP-FPM 的框架有质的提升,提供超高性能的同时,也保持着极其灵活的可扩展性,标准组件均均基于 PSR 标准 实现,基于强大的依赖注入设计,保证了绝大部分组件或类都是 可替换
【统计PV与UV】Redis提供了一组略有误差的统计指令,pfadd与pfcount,这两个指令配合使用,可以进行上亿数据的去重不精确统计,它的优势就是节省空间(12KB就能统计2^64个数据)。想想如果使用set进行过滤与存储会是多大的空间消耗。另外,使用pfmerge可以将多个pf数值累加在一起。【原理简述-参考https://www.jianshu.com/p/55defda6dcd2】首先
转载 2023-07-24 15:10:55
105阅读
1:业务场景引入HyperLogLog常用于大数据量的统计,比如页面访问量统计或者用户访问量统计。①需求:要统计一个页面的访问量(PV)①方案:直接用redis计数器或者直接存数据库都可以②需求:要统计一个页面的用户访问量(UV),即:一个用户一天内如果访问多次的话,也只能算一次②方案:可能会想到用SET集合来做,因为SET集合是有去重功能的,key存储页面对应的关键字,value存储对应user
转载 2023-09-08 21:55:49
83阅读
Redis 是什么?Redis 是一个高性能 key-value 的非关系型内存数据库,这里 key-value 可以理解成Java中的 Map。Redis 的 value 支持各种数据结构类型,不仅有常用的 string,还有 list、set、hashmap、sorted sets、bitmaps、hyperloglogs 、geospatial。Redis 通过 master-slave (
转载 2023-08-04 18:05:23
125阅读
当项目中引入了 Redis 做分布式缓存,那么就会面临这样的问题:哪些数据应该放到缓存中?依据是什么?缓存数据是采用主动刷新还是过期自动失效?如果采用过期自动失效,那么失效时间如何制定?正好这两周我们项目做了相关的评估,把过程记录下来和大家分享分享;当然过程中用到了很多“笨办法”,如果你有更好的办法,也希望能分享给我。 01 项目背景我们的项目是一个纯服务平台,也就是只提供接口服务,并没有
# hyperf redis清除指定key ## 简介 Redis是一种基于内存的键值存储系统,广泛用于缓存、消息队列和会话管理等场景。在Hyperf框架中,我们可以通过集成`hyperf/redis`组件来使用Redis。 清除指定的Redis key是一个常见的需求,本文将介绍如何在Hyperf中使用`hyperf/redis`组件来清除指定的Redis key。 ## 安装和配置
原创 2023-08-19 05:17:38
114阅读
# Hyperf Redis延时任务 在现代的Web应用程序中,任务的调度和执行是非常常见的需求。特别是一些定时任务或延时任务,需要在指定的时间点执行特定的操作。在Hyperf框架中,我们可以使用Redis来实现延时任务的调度和执行。本文将介绍如何使用Hyperf框架中的Redis组件来实现延时任务。 ## 1. Hyperf框架 Hyperf是一个基于Swoole扩展开发的高性能PHP框架
原创 2023-08-19 11:55:30
282阅读
# 如何在 Hyperf 中连接 Redis 并解决连接失败的问题 在现代应用中,Redis 是一种流行的缓存和数据存储解决方案,而 Hyperf 作为一个高性能的 PHP 微框架,也支持对 Redis 的连接。但有时,在连接 Redis 时可能会遇到一些问题。本文将帮助你理解如何在 Hyperf 中成功实现 Redis 连接,同时提供一些调试的方法,以便你解决连接失败的问题。 ## 连接 R
原创 1月前
40阅读
# 科普文章:Hyperf Redis 连接池 在现代的Web开发中,使用缓存是非常常见的做法,而Redis作为一种高性能的内存数据库,被广泛应用于缓存、消息队列等场景。在Hyperf框架中,Redis连接池是一个非常重要的组件,它能够有效管理Redis连接,提高系统性能和稳定性。 ## 什么是Redis连接池? Redis连接池是一种维护Redis连接的机制,主要目的是减少连接的创建和销毁
原创 3月前
39阅读
redis支持两种方式的持久化,可以单独使用或者结合起来使用。一、Redis持久化之RDB  rdb方式的持久化是通过快照完成的,当符合一定条件时redis会自动将内存中的所有数据执行快照操作并存储到硬盘上。默认存储在redis根目录的dump.rdb文件中。(文件名在配置文件中dbfilename)1.1、redis进行快照的时机(在配置文件redis.conf中)save 900 1:表示90
转载 2023-09-04 14:41:08
131阅读
  • 1
  • 2
  • 3
  • 4
  • 5