草庐IT

Redis-Queue

全部标签

【微服务】springboot整合redis哨兵集群使用详解

目录一、前言二、环境准备三、安装redis3.1前置准备3.1.1 下载安装包3.1.2准备依赖环境3.1.3上传并解压包3.2执行安装四、搭建redis主从集群4.1环境准备4.2搭建过程4.2.1创建实例文件目录4.2.2修改redis.conf配置文件4.2.3拷贝配置文件4.2.4 修改配置文件端口信息4.2.5 修改声明的IP地址4.2.6 启动redis实例4.2.7 开启主从关系五、搭建redis哨兵集群5.1添加哨兵配置文件5.1.1在三个目录下添加配置文件5.1.2拷贝配置文件5.2 启动哨兵集群5.3 故障模拟5.3.1哨兵控制台日志5.4 故障恢复5.4.1 哨兵控制台日

Redis淘汰策略(原创,干货!)

Redis淘汰策略Redis是一种内存数据库,为了保证内存的使用效率和性能,需要采用一些淘汰策略来管理内存中的数据。Redis支持多种淘汰策略,如下:noeviction:不淘汰任何数据,当内存满时,新的写入操作会报错。volatile-lru:淘汰设置了过期时间的数据中,最近最少使用的数据。这种策略适用于缓存数据,可以保证缓存中的数据都是最近使用过的。volatile-ttl:淘汰设置了过期时间的数据中,距离过期时间最近的数据。这种策略适用于一些临时性的数据,可以保证数据不会过期。volatile-random:淘汰设置了过期时间的数据中,随机选择一个数据进行淘汰。allkeys-lru:淘

基于redis实现秒杀并防止超卖

基于redis实现秒杀并防止超卖为什么基于redis针对秒杀商品库存为一个的情况setnx代码实现测试针对有多个库存的商品实现测试为什么基于redis因为所有redis的操作(这里指的是key的操作,像备份落盘之类的另算)都是单线程的,所以是线程安全的,但是有一点需要注意,这里线程安全仅仅指的是单个操作,如果有连续性的操作,需要使用lua脚本来保证原子性。针对秒杀商品库存为一个的情况比如抢单个红包,类似于美团的抢单等多个用户争抢一个资源的情况,这时我们可以使用redis分布式锁来实现比如setnx。setnxsetnx:向Redis中添加一个key,只用当key不存在的时候才添加并返回1,存在

关于两种使用Redis的随机抽取的方式的记录

        根据实际业务的需要,有时候会出现需要随机发放、随机抽取某些奖券、红包等等的业务场景,这些业务场景都是需要快速、随机、稳定的发放某些业务产品,在日常的使用中,我总结了两种,使用Redis来实现随机抽取业务场景的实现形式,特在此记录,以做备份和分享:    第一种:使用Redis的集合Set,来实现随机的抽取的功能,这就用到了Set的一个方法:        SPOPkey[count]移除并返回集合中的随机元素    使用方法是,提前将全部的内容都放到Redis中,在实现抽取时,全部使用Redis来实现,基本可以快速、稳定。但是,因为Set是无序且唯一的,如果需要抽取的产品中有重

关于两种使用Redis的随机抽取的方式的记录

        根据实际业务的需要,有时候会出现需要随机发放、随机抽取某些奖券、红包等等的业务场景,这些业务场景都是需要快速、随机、稳定的发放某些业务产品,在日常的使用中,我总结了两种,使用Redis来实现随机抽取业务场景的实现形式,特在此记录,以做备份和分享:    第一种:使用Redis的集合Set,来实现随机的抽取的功能,这就用到了Set的一个方法:        SPOPkey[count]移除并返回集合中的随机元素    使用方法是,提前将全部的内容都放到Redis中,在实现抽取时,全部使用Redis来实现,基本可以快速、稳定。但是,因为Set是无序且唯一的,如果需要抽取的产品中有重

RabbitMQ inequivalent arg ‘x-message-ttl‘ for queue x in vhost ‘/‘:received the value x of type问题解决

问题描述:Causedby:com.rabbitmq.client.ShutdownSignalException:channelerror;protocolmethod:#method(reply-code=406,reply-text=PRECONDITION_FAILED-inequivalentarg'x-message-ttl'forqueue'xudongmaster.dlx.queue'invhost'/':receivedthevalue'60000'oftype'long'butcurrentisnone,class-id=50,method-id=10)问题分析:1、修改了

使用 RediSearch 在 Redis 中进行全文检索

Redis大家肯定都不陌生了,作为一种快速、高性能的键值存储数据库,广泛应用于缓存、队列、会话存储等方面。然而,Redis在原生状态下并不支持全文检索功能,这使得处理文本数据变得相对困难。但是在有一些场景下还需要这样的功能,有什么好办法呢?答案就是RediSearch。RediSearch是Redis的一个插件,它为Redis数据库添加了全文搜索和查询功能,使开发人员能够在Redis中高效地执行全文检索操作。它基于RedisModuleAPI构建,通过使用自定义的数据结构和索引算法,实现了高效的全文搜索功能。安装如果单纯用来测试的话,可以直接通过docker来启动;如果是生产环境,就需要根据公

使用 RediSearch 在 Redis 中进行全文检索

Redis大家肯定都不陌生了,作为一种快速、高性能的键值存储数据库,广泛应用于缓存、队列、会话存储等方面。然而,Redis在原生状态下并不支持全文检索功能,这使得处理文本数据变得相对困难。但是在有一些场景下还需要这样的功能,有什么好办法呢?答案就是RediSearch。RediSearch是Redis的一个插件,它为Redis数据库添加了全文搜索和查询功能,使开发人员能够在Redis中高效地执行全文检索操作。它基于RedisModuleAPI构建,通过使用自定义的数据结构和索引算法,实现了高效的全文搜索功能。安装如果单纯用来测试的话,可以直接通过docker来启动;如果是生产环境,就需要根据公

消息队列之六脉神剑:RabbitMQ、Kafka、ActiveMQ 、Redis、 ZeroMQ、Apache Pulsar对比和如何使用

目录1.RabbitMQ2.Kafka3.ActiveMQ4.Redis5.ZeroMQ6.ApachePulsar消息队列(MessageQueue)是一种异步通信机制,它将消息发送者和接收者解耦,从而提高了应用程序的性能、可扩展性和可靠性。在分布式系统中,消息队列经常被用于处理高并发、异步处理、应用解耦等场景。本篇回答将分析比较常见的六种消息队列:RabbitMQ、Kafka、ActiveMQ、Redis、ZeroMQ、ApachePulsar。我们将讨论它们的应用场景、优缺点以及如何使用。1.RabbitMQRabbitMQ是一个开源的、高度可靠的消息队列软件。它支持多种消息协议,如AM

使用TongRDS替换开源redis 并设置开机自启动

使用TongRDS替换开源redis并设置开机自启动1、安装TongRDS1.1、安装中心节点1.2、安装服务节点2、设置TongRDS开机自启动3、禁用开源redisdocker容器开机自启动3.1、查看redis容器的开机启动策略3.2、禁用开源redisdocker容器开机自启动3.2.1、查看redis容器的id3.2.2、停止redis容器3.2.3、修改redis容器启动参数1、安装TongRDSTongRDS安装分为中心节点和服务节点1.1、安装中心节点上传安装包到服务器,解压、启动服务节点进程tar-zxvfTongRDS-2.2.1.2_P3.MC.tar.gz-C/opt/