草庐IT

Redis-Queue

全部标签

三分钟了解Redis HyperLogLog 数据结构

文章目录0.前言1.原理1.2原理解析2.实战案例3.Redis从入门到精通系列文章4.常见问题4.1.什么是RedisHyperLogLog?4.2.HyperLogLog算法的核心思想是什么?4.3.HyperLogLog算法的误差率如何控制?4.4.HyperLogLog算法的存储空间大小与误差率的关系是怎样的?4.5.HyperLogLog算法在Redis中如何实现?4.6.HyperLogLog算法有什么应用场景?4.7.HyperLogLog算法的优缺点是什么?4.8.RedisHyperLogLog与BloomFilter有什么区别?4.9.RedisHyperLogLog如何处

SpringBoot整合redis的配置

第一步,引入依赖。dependency>groupId>org.springframework.bootgroupId>artifactId>spring-boot-starter-data-redisartifactId>dependency>第二步,配置文件中新增redis的配置项yml##redis配置redis:database:1#数据库索引默认为0host:192.168.1.10 #redis服务器地址port:6379 #端口号password: #密码(默认为空)timeout:5000#连接超时时间(毫秒)jedis:pool:#连接池配置max-active:8#连接池最

如何用Redis实现延迟队列

背景前段时间有个小项目需要使用延迟任务,谈到延迟任务,我脑子第一时间一闪而过的就是使用消息队列来做,比如RabbitMQ的死信队列又或者RocketMQ的延迟队列,但是奈何这是一个小项目,并没有引入MQ,我也不太想因为一个延迟任务就引入MQ,增加系统复杂度,所以这个方案直接就被pass了。虽然基于MQ这个方式走不通了,但是这个项目中使用到Redis,所以我就想是否能够使用Redis来代替MQ实现延迟队列的功能,于是我就查了一下有没有现成可用的方案,别说,还真给我查到了两种方案,并且我还仔细研究对比了这两个方案,发现要想很好的实现延迟队列,并不简单。监听过期key基于监听过期key的方式来实现延

如何用Redis实现延迟队列

背景前段时间有个小项目需要使用延迟任务,谈到延迟任务,我脑子第一时间一闪而过的就是使用消息队列来做,比如RabbitMQ的死信队列又或者RocketMQ的延迟队列,但是奈何这是一个小项目,并没有引入MQ,我也不太想因为一个延迟任务就引入MQ,增加系统复杂度,所以这个方案直接就被pass了。虽然基于MQ这个方式走不通了,但是这个项目中使用到Redis,所以我就想是否能够使用Redis来代替MQ实现延迟队列的功能,于是我就查了一下有没有现成可用的方案,别说,还真给我查到了两种方案,并且我还仔细研究对比了这两个方案,发现要想很好的实现延迟队列,并不简单。监听过期key基于监听过期key的方式来实现延

Redis数据持久化

Redis数据持久化redis一共提供了两种数据持久化的方式RDB和AOF。RDB​RDB全称为RedisDatabaseBackupfile(数据备份文件),也被叫做Redis数据快照。简单来说就是将内存中的全部数据都记录到磁盘中,当redis发生宕机或是一些故障导致实例故障重启,此时就会从磁盘中读取快照文件,恢复数据。快照持久化是Redis默认采用的持久化方式,在redis.conf配置文件中默认有此下配置:Redis内部有触发RDB的机制,可以在redis.conf文件中找到,格式如下:save9001#在900秒(15分钟)之后,如果至少有1个key发生变化,Redis就会自动触发bg

【Redis】特殊数据类型 Stream (流)

  🎯前言除了五中基本的数据类型外,Redis还支持两种特殊的数据类型,第一种Geo(地理位置):用于存储地理位置相关的数据,例如经纬度、距离等。第二种Stream(流):是一个高级的列表类型,支持对列表的批量操作,如添加多个元素、获取多个元素等。RedisStream是Redis数据结构中的一种,用于处理基于事件的消息流。它提供了一种高度可扩展且高效的方式来处理大量的消息,并且可以很容易地与Redis的其他数据结构集成。它是一个可持久化的、可追溯的、能处理大量数据的消息流。RedisStream的基本单位是消息条目(Entry),每个消息条目包含一个消息体(Payload)和一些元数据(Me

基于Redis的分布式锁,Redisson的简单使用和常用配置

介绍Redisson是一个在Redis基础上实现的Java驻内存数据网格。Redisson提供了使用Redis的最简单最便捷的方法。Redisson的宗旨是促进使用者对Redis的关注分离,从而让使用者能够将精力更集中的放在处理业务逻辑上。Redisson官方文档地址:https://github.com/redisson/redisson/wiki使用首先在项目中添加Redisson的依赖,如下我这里使用的是目前github上的最新版本org.redissonredisson3.21.1官网文档中的配置说明,可以看到有两种配置方式,程序化配置和yaml配置我这里选择第一种程序化配置方式,并且

【问题解决】org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io

1.出现问题异常核心错误输出org.springframework.dao.QueryTimeoutException:Rediscommandtimedout;nestedexceptionisio.lettuce.core.RedisCommandTimeoutException:Commandtimedoutafter1minute(s)异常详细org.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'enableRedisKeyspaceNotificationsInitializ

redis分布式锁的9种实现方式

前言1.为什么要用分布式锁如果是单机情况下(单JVM),线程之间共享内存,只要使用线程锁就可以解决并发问题。但如果是分布式情况下(多JVM),线程A和线程B很可能不是在同一JVM中,这样线程锁就无法起到作用了,这时候就要用到分布式锁来解决。分布式锁其实就是,控制分布式系统不同进程共同访问共享资源的一种锁的实现。如果不同的系统或同一个系统的不同主机之间共享了某个临界资源,往往需要互斥来防止彼此干扰,以保证一致性。2.分布式锁有哪些实现方式基于缓存(Redis等)实现分布式锁;基于数据库实现分布式锁;例如唯一性约束排它锁,version乐观锁基于Zookeeper实现分布式锁;从性能角度(从高到低

一文带你了解如何在Java中操作Redis

文章目录前言一、Redis客户端简介1.Redis客户端分类2.Spring整合Redis的两种方式二、使用Jedis操作Redis1.Jedis的maven坐标2.使用Jedis操作Redis的步骤3.Jedis操作Redis示例三、使用SpringDataRedis操作Redis1.SpringDataRedis的maven坐标2.springDataRedis中operation接口的分类3.SpringDataRedis操作RedisString类型示例(ValueOperations----简单K-V操作)4.SpringDataRedis操作Redishash类型示例(HashOp