用 Redis 做一个可靠的延迟队列
我们先看看以下业务场景:当订单一直处于未支付状态时,如何及时的关闭订单,并退还库存?新创建店铺,N天内没有上传商品,系统如何知道该信息,并发送激活短信?上述场景最简单直接的解决方案是定时扫表。我们假设10分钟未支付则关闭订单、定时任务
4 种 Redis 集群方案介绍 + 优缺点对比
在服务开发中,单机都会存在单点故障的问题,及服务部署在一场台服务器上,一旦服务器宕机服务就不可用,所以为了让服务高可用,分布式服务就出现了,将同一服务部署到多台机器上,即使其中几台服务器宕机,只要有一台服务器可用服务就可用。redis
Redis 的各项功能解决了哪些问题?
先看一下Redis是一个什么东西官方简介解释到:Redis是一个基于BSD开源的项目,是一个把结构化的数据放在内存中的一个存储系统,你可以把它作
4种 Redis 集群方案及优缺点对比
在服务开发中,单机都会存在单点故障的问题,及服务部署在一台服务器上,一旦服务器宕机服务就不可用,所以为了让服务高可用,分布式服务就出现了,将同一服务部署到多台机器上,即使其中几台服务器宕机,只要有一
拼多多面试:如何用 Redis 统计独立用户访问量?
众所周至,拼多多的待遇也是高的可怕,在挖人方面也是不遗余力,对于一些工作3年的开发,稍微优秀一点的,都给到30K的Offer,当然,拼多多加班也是出名的,一周上6天班是常态,每天工作时间基本都是超过12个小时,也是
记一次自定义Redis分布式锁导致的生产事件
背景企微报警群里连续发出生产环境报错警告,报错核心信息如下:redissetNXerrorjava.lang.NumberFormatException:Forinputstring:"null"atjava.lang.NumberFormatException.forInputString(Num
Redis分布式锁故障,我忍不住想爆粗...
目录背景问题分析解决方案总结背景新书限时折扣中,一本深入讲解Java基础的干货笔记!企微报警群里连续发出生产环境报错警告,报错核心信息如下:redissetNXerrorjava.lang.NumberFormatException:Forinput
永远不要使用Redis过期监听实现定时任务!
前言Redis过期监听RabbitMQ死信时间轮结论前言Hollis的新书限时折扣中,一本深入讲解Java基础的干货笔记!日前拜读阿牛老师的大作《领导:谁再用定时任务实现关闭订单,立马滚蛋!》发现其方案有若干瑕疵,特此抛砖引玉讨论一二。https
知道 Redis RDB 这些细节,可以少踩很多坑
在使用Redis的过程中,你是否遇到过下面这些问题:开启RDB落盘,业务频繁出现请求超时。除了save和bgsave命令,还有哪些操作会触发RDB落盘?执行了flushall,发现flushall之前写的数据又冒出来了。重启Redis实例之后,发现数据有丢失的情况。带着上面这些问题,我们一起来聊聊R
永远不要使用Redis过期监听实现定时任务!
前言在电商、支付等领域,往往会有这样的场景,用户下单后放弃支付了,那这笔订单会在指定的时间段后进行关闭操作。细心的你一定发现了像某宝、某东都有这样的逻辑,而且时间很准确,误差在1s内,那他们是怎么实现的
京东一面:Redis 如何实现库存扣减操作?如何防止商品被超卖?
在日常开发中有很多地方都有类似扣减库存的操作,比如电商系统中的商品库存,抽奖系统中的奖品库存等。解决方案使用mysql数据库,使用一个字段来存储库存,每次扣减库存去更新这个字段。还是使用
Redis+Guava,性能炸裂!
前言我们开发中经常用到Redis作为缓存,将高频数据放在Redis中能够提高业务性能,降低MySQL等关系型数据库压力,甚至一些系统使用Redis进行数据持久化,Redis松散的文
3大问题!Redis缓存异常及处理方案总结
导语|Redis作为一个高性能的内存中的key-value数据结构存储系统,在我们日常开发中广泛应用于缓存、计数器、消息队列、排行榜等场景中,尤其是作为最常用的缓存方式,在提高数据查询效率、保护数据库等方面起到了不可磨灭的作用,但实际应用中,可能会出现一些Redis缓存异常的情况,本文主要对Redi
从单点 Redis 到 1 主 2 从 3 哨兵的架构演进之路
你好,我是悟空呀~本文目录如下:一、前言二、部署拓扑图三、搭建Redis一主两从1.1备份和还原Redis镜像1.2主节点配置1.3从节点配置1.4启动容器1.5查看Redis状态1.6测试主从复制四、搭建哨兵集群4.1哨兵集群拓扑图4
记一次找因redis使用不当导致应用卡死bug的过程
首先说下问题现象:内网sandbox环境API持续1周出现应用卡死,所有api无响应现象。刚开始当测试抱怨环境响应慢的时候,我们重启一下应用,应用恢复正常,于是没做处理。但是后来问题出现频率越来越频繁,越来越多的同事开始抱怨,于是感觉代码可能有问题,开始排查。01首先发现开发的本地ide没有发现问题
盘一盘Redis的底层数据结构
大家好,我是陌溪前言Redis是一个高性能的分布式内存数据库,在国内的公司也有着非常广泛的使用场景。因此,在面试过程中,关于Redis相关的知识点,也是经常被问到的。下面这题,就是之前面试的时候遇到过的,让我们一起来学习一下吧~Redis有那些数据结构?以及它们的使用场景?Redis五种数据结构Re
阿里二面:聊聊Redis主从架构
单机的Redis,能够承载的QPS大概就在上万到几万不等。对于缓存来说,一般都是用来支撑读高并发的。因此架构做成主从(master-slave)架构,一主多从,主负责写,并且将数据复制到其它的slave节点,从节点负责读。所有的读请求全部走从节点。这样也可以很轻松实现水平扩容,支撑读高并发
关于redis
Redis是一个key-value存储系统,是跨平台的非关系型数据库。Redis是一个开源的使用ANSIC语言编写、遵守BSD协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的API。Redis通常被称为数据结构服务器,因为值(value)可以是
4种 Redis 集群方案介绍+优缺点对比
原创|Java2021超神之路,很肝~中文详细注释的开源项目RPC框架Dubbo源码解析网络应用框架Netty源码解析消息中间件RocketMQ源码解析数据库中间件
Redis 内存优化在 vivo 的探索与实践
作者:互联网服务器团队-TangWenjian一、背景使用过Redis的同学应该都知道,它基于键值对(key-value)的内存数据库,所有数据存放在内存中,内存在Redis中扮演一个核心角色,所有的操作都是围绕它进行。我们在实际维护过程中经常会被问到如下问题,比如数据怎么存储在Redis里面能节约