redis高级数据类型
发表于|更新于|2.database2.KV数据库Redis
|总字数:83|阅读时长:1分钟|浏览量:
BitMap
Bitmap,即位图,是一串连续的二进制数组(0 和 1),可以通过偏移量(offset)定位元素。由于 bit 是计算机中最小的单位,使用它进行储存将非常节省空间,特别适合一些数据量大且使用二值统计的场景。
参考
文章作者: coder-xuyong
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 coder-xuyong!
相关推荐

2020-01-01
redis基础
初识RedisRedis是一种键值型的NoSql数据库,这里有两个关键字: 键值型 NoSql 其中键值型,是指Redis中存储的数据都是以key、value对的形式存储,而value的形式多种多样,可以是字符串、数值、甚至json。 认识NosqlNoSql可以翻译做Not Only Sql(不仅仅是SQL),或者是No Sql(非Sql的)数据库。是相对于传统关系型数据库而言,有很大差异的一种特殊的数据库,因此也称之为非关系型数据库。 结构化和非结构化传统关系型数据库是结构化数据,每一张表都有严格的约束信息:字段名、字段数据类型、字段约束等等信息,插入的数据必须遵守这些约束。 而NoSql则对数据库格式没有严格约束,往往形式松散,自由。可以键值型,文档型,图格式。 关联和非关联传统数据库的表与表之间往往存在关联,例如外键。而非关系型数据库不存在关联关系,要维护关系要么靠代码中的业务逻辑,要么靠数据之间的耦合: 123456789101112131415161718{ id: 1, name: "张三", orders: [ &...

2023-06-01
redis常见错误
redisBUG标签(空格分隔): redis Windows环境1、Could not connect to Redis at 127.0.0.1:6379: 由于目标计算机积极拒绝,无法连接。`` 2、报错如下 12345D:\Redis-x64-5.0.14.1>redis-server.exe redis.windows.conf[7948] 29 Jan 10:06:50.399 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo[7948] 29 Jan 10:06:50.399 # Redis version=5.0.14.1, bits=64, commit=ec77f72d, modified=0, pid=7948, just started[7948] 29 Jan 10:06:50.400 # Configuration loaded[7948] 29 Jan 10:06:50.402 # Could not create server TCP listening socket 127.0...

2025-09-26
redis 面试题
缓存缓存穿透查询一个不存在的数据,mysql查询不到数据也不会直接写入缓存,就会导致每次请求都查数据库,这就是缓存穿透。 解决方案一缓存空数据;查询返回的数据为空,仍把这个空结果进行缓存 优点:简单 缺点:消耗内存,可能发生不一致的问题 解放方案二布隆过滤器,经典加一层,去redis查找之前,先来它这里确认一遍。它可以用于检索一个元素是否在一个集合中,先生成一个BitMap数组,里面全是0。存储数据时,根据hash值计算数组索引,将其对应的值改为1。 查找数据的时候,使用相同hash函数获取hash值,判断对应位置是否为1。 优点:节约空间,没有多余的key 缺点:实现复杂,存在误判的概率,bitMap数组越大,误判越小。 缓存击穿给某一个key设置了过期时间,当kev过期的时候,恰好这时间点对这个key有大量的并发请求过来,这些并发的请求可能会瞬间把DB压垮 解决方案一互斥锁,在线程一redis缓存过期时,获取锁,查询DB,重建缓存。此时其他线程无法获取锁,无法进行后续select操作。 优点:强一致性 缺点:性能较差 解决方案二逻辑过期 优点:性能好 缺点:一...

2023-06-01
Windows 工作常用操作
Windows 工作中遇到的问题 work condition标签(空格分隔): Windows windows 端口占用12345678# 查找端口号,监听的程序idnetstat -aon|findstr "9011"# 通过程序id,找到程序tasklist|findstr "24548"# 通过程序id,杀死这个程序taskkill -pid 24548 -f# 查找这个端口的线程的数量netstat -ano | findstr 9002 | find /c /v "" windows 启动 jar包案例一: 1234567891011121314@echo offsetlocalREM 改变当前工作目录到 JAR 文件所在目录, /d 参数允许同时更改驱动器和目录cd /d D:\transferData\REM 指定Java应用程序和参数set "JAVA_PATH=D:\transferData\jdk1.8.0_351\jre\bin\java"set "JAR_FI...

2025-09-16
Spring Framework 综述
Spring Framework 综述更多教程可以查看:官方教程文档 Spring Framework 简介Spring Framework 是最受欢迎的企业级 Java 应用程序开发框架。用于构建企业级应用的轻量级、一站式解决方案。 核心思想Spring 最核心的两个技术思想是:IoC 和 Aop IoCIoC 即 Inversion of Control ,意为控制反转。 Spring 最认同的技术是控制反转的 依赖注入(DI) 模式。控制反转(IoC)是一个通用的概念,它可以用许多不同的方式去表达,依赖注入仅仅是控制反转的一个具体的例子。 当编写一个复杂的 Java 应用程序时,应用程序类应该尽可能的独立于其他的 Java 类来增加这些类可重用可能性,当进行单元测试时,可以使它们独立于其他类进行测试。依赖注入(或者有时被称为配线)有助于将这些类粘合在一起,并且在同一时间让它们保持独立。 到底什么是依赖注入?让我们将这两个词分开来看一看。这里将依赖关系部分转化为两个类之间的关联。例如,类 A 依赖于类 B。现在,让我们看一看第二部分,注入。所有这一切都意味着类 B 将通过 I...

2025-09-16
Spring Bean
Spring Bean在 Spring 中,构成应用程序主体由 Spring IoC 容器管理的对象称为 Bean。Bean 是由 Spring IoC 容器实例化、装配和管理的对象。 Bean 以及它们之间的依赖关系反映在容器使用的配置元数据中。 BeanFacotry 入门 自定义一个bean,配置到xml文件中;在idea中,new-> XML configuration file 创建beans.xml,添加bean内容 1<bean id="demoName" class="com.study.demo"></bean> 通过BeanFacory获取对象 1234DefaultListBeanFacotry factory = new DefaultListBeanFacotry();//创建工厂对象XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(facotry);//创建读取器(XML)reader.loadBeanDe...
评论