前言本文讲述布隆过滤器 (RedisBloom) 的基本原理和安装使用。RedisBloom是什么?RedisBloom 是 Redis过滤器模块,可以用来判断值是否存在,常用来解决缓存穿透问题。查询数据时,先用 RedisBloom 判断数据是否存在,不存在则直接返回,存在则从缓存 / 数据库获取后返回。比如查询接口,可以将数据库能查出数据的条件值先添加到过滤器中,后续请求接口前先用过滤器进
转载 2023-05-25 15:31:53
292阅读
布隆过滤器是什么?  布隆过滤器可以理解为一个不怎么精确的 set 结构,当你使用它的 contains 方法判断某个对象是否存在时,它可能会误判。但是布隆过滤器也不是特别不精确,只要参数设置的合理,它的精确度可以控制的相对足够精确,只会有小小的误判概率布隆过滤器基本使用  布隆过滤器有二个基本指令,bf.add 添加元素,bf.exists 查询元素是否存在,如果想要一次添加多个,就需要用到 b
一、概述:针对key的通用操作二、相关命令列表:命令原型 时间复杂度 命令描述 返回值KEYS pattern获取所有匹配pattern参数的Keys。需要说明的是,在我们的正常操作中应该尽量避免对该命令的调用,因为对于大型数据库而言,该命令是非常耗时的,对Redis服务器的性能打击也是比较大的。pattern支持glob-style的通配符格式,如*表示任意一个或多个字符,?表示任意字符,[ab
转载 2023-08-17 10:54:46
554阅读
目录1、布隆过滤器使用场景2、布隆过滤器简介3、Redis实现布隆过滤器①、bitmaps②、Redisson4、guava 工具  本篇博客我们主要介绍如何用Redis实现布隆过滤器,但是在介绍布隆过滤器之前,我们首先介绍一下,为啥要使用布隆过滤器。 1、布隆过滤器使用场景  比如有如下几个需求:  ①、原本有10亿个号码,现在又来了10万个号码,要快速准确判断这10万个号码是否在10亿个号码库
转载 2024-07-17 15:28:53
43阅读
# 使用 Django 查询 Redis 的入门指南 在当今日益复杂的 web 应用中,将 DjangoRedis 结合使用已成为一种常见的解决方案。Redis 是一种高性能的键值存储,而 Django 是一个强大的 web 框架。结合它们能有效提升应用性能。在这篇文章中,我们将分步骤介绍如何在 Django查询 Redis。 ## 一、流程概述 我们将分为以下几个步骤来完成 Dj
原创 2024-09-14 04:10:03
23阅读
本文大部分内容引自《Redis深度历险:核心原理和应用实践》,感谢作者!!!布隆过滤器作用1、布隆过滤器 (Bloom Filter)是专门用来解决去重问题的(新闻中已经看过的新闻去除,用户行为历史记录,邮箱系统的垃圾邮件过滤,爬虫URL去重;HBase、Cassandra 还有 LevelDB、RocksDB 内部都有布隆过滤器结构,布隆过滤器可以显著降低数据库的 IO 请求数量。当用户来查询
布隆过滤器BloomFilter先看看大厂真实需求+面试题反馈1.现有50亿个电话号码,现有10万个电话号码,如何要快速准确的判断这些电话号码是否已经存在? 2.判断是否存在,布隆过滤器了解过吗? 3.安全连接网址,全球数10亿的网址判断 4.黑名单校验,识别垃圾邮件 5.白名单校验,识别出合法用户进行后续处理是什么: 由一个初值都为零的bit数组和多个哈希函数构成,用来快速判断集合中是否存在某个
文章目录一、布隆过滤器使用场景二、布隆过滤器简介三、Redis实现布隆过滤器四、Redisson五、guava 工具 一、布隆过滤器使用场景比如有如下几个需求:1、原本有10亿个号码,现在又来了10万个号码,要快速准确判断这10万个号码是否在10亿个号码库中?解决办法一:将10亿个号码存入数据库中,进行数据库查询,准确性有了,但是速度会比较慢。解决办法二:将10亿号码放入内存中,比如Redis
转载 2023-07-04 18:23:03
209阅读
前言  redis作为我们开发的一大神器,我们接触肯定不会少,但是很多同学也许只会存储String类型的值,这是非常不合理的。在这里,将带大家认识Redis的5中数据结构。1、问:Redis有那些数据结构?  常见的5种:字符串(String),散列(Hash), 列表(List),集合(Set),有序集合(SortedSet)等;除此之外,还有HyperLogLog、Geo、Pub/Sub。  
转载 2024-05-30 22:29:37
49阅读
# DjangoRedis查询方法 在现代Web开发中,Django作为后端框架,结合Redis这种高效的内存数据库,可以显著提高应用的性能和响应速度。本文将介绍如何在Django项目中查询Redis,并通过一个示例解决实际问题。 ## 问题背景 假设我们开发了一个需要频繁获取用户信息的API。由于数据库查询可能会导致性能瓶颈,我们希望将用户信息缓存在Redis中,以提高响应速度。我们需
原创 10月前
73阅读
第一次在PyPi上传开源工程,各种问题搞的相当坎坷,先贴个github地址 github: https://github.com/524243642/ratel PyPi:https://pypi.org/project/ratel/本工程参考redis的开源工程(redis源代码十分优秀)编写这个库的缘由是我在编写一个工程化的策略的模块的时候碰到一个棘手的问题,先来描述一下我碰到的问题数据结构需
## 如何实现“redis list 过滤查询” ### 1. 流程 | 步骤 | 操作 | | ---- | -------------------- | | 1 | 连接 Redis 数据库 | | 2 | 插入数据到 Redis 列表 | | 3 | 进行过滤查询 | ### 2. 操作步骤 #### 步骤1:
原创 2024-03-13 06:34:07
395阅读
# Redis 过滤查询连接 ## 简介 Redis是一个高性能的键值存储数据库,常用于缓存、消息队列等场景。在实际应用中,我们经常需要根据一些条件对数据进行过滤查询。本文将介绍如何在Redis中进行过滤查询连接。 ## 过滤查询连接的基本原理 在Redis中,我们可以使用Hash、Set等数据结构来存储和查询数据。过滤查询连接的基本原理是使用一个或多个条件对数据进行过滤,然后将符合条件的
原创 2023-08-31 04:27:54
53阅读
前面学习HyperLogLog数据类型来进行估算,还是非常有意义的,能解决很多精度要求不高的统计问题。 但是对于某一个值是否存在于HyperLogLog结构里面,就变现的无能为力,因为它只提供了 pfadd 和 pfcount 方法,没有提供 pfcontains 方法。讲个使用场景,比如我们在使用新闻客户端浏览新闻时,会不停的给我们推荐新的内容,而且每次推荐都会是不同的,以去掉那些我们已经浏览过
 (一)布隆过滤器布隆过滤器(英语,Bloom Filter)是1970年由布隆提出的。它实际是一个很长的二进制数组+多个随机Hash算法映射函数,主要用于判断一个元素是否在集合中。通常我们会遇到很多要判断一个元素是否在某个集合中的业务场景,一般想到的是将集合中所有元素保存起来,然后通过比较确定。链表、树、散列表(又叫哈希表,HashTable)等等数据结构都是这种思路。但是随着集合中元
转载 2023-08-19 20:33:55
142阅读
基本查询# 基本的查询 res = models.Student.objects.all().first() print(res) # 返回的是QuerySet 列表中套对象 res = models.Student.objects.values("name").first() print(res) # 返回的是QuerySet 列表中套字典
转载 2023-12-26 21:04:36
44阅读
简介安装启动注意事项使用命令通用命令数据结构字符串(string)哈希(hash)队列(list)集合(set)有序集合(zset)位图(bitcount)事务订阅与发布配置Units(单位)INCLUDES(模块)GENERAL(常用项)SNAPSHOTING(RDB相关)REPLICATION(主从复制)SECURITY(安全)LIMITS(限制策略)APPEND ONLY MODE(AOF相
转载 2024-08-27 19:18:17
104阅读
原创 2021-11-25 11:34:05
213阅读
# Redis中的分页、过滤与模糊查询 在现代应用程序中,数据的管理变得越来越复杂,尤其是在涉及到大量数据时。然而,Redis作为一种高性能的内存数据库,提供了多种高效的方式来进行数据存储和查询。本文将探讨如何在Redis中实现分页、过滤和模糊查询,并提供相应的代码示例,帮助您更好地理解这些概念。 ## 1. Redis的基本概念 首先,Redis是一种键值数据库,支持丰富的数据结构,如字符
原创 10月前
247阅读
【代码分享】用redis+lua实现多个集合取交集并过滤,类似于: select key from set2 where key in (select key from set1) and value>=xxx redis中的zset结构可以看成一个个包含数值的集合,或者认为是一个关系数据库中用列存储方式存储的一列。需求假设我有这样一个数据筛选需求,用SQL表示为:select k
转载 2023-06-29 11:38:37
115阅读
  • 1
  • 2
  • 3
  • 4
  • 5