经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
 Redis

Redisson分布式锁

Redi on分布式锁 来自Githup官方文档的介绍: Redi on是一个在Redis的基础上实现的Java驻内存数据网格(In-Memory Data Grid)。它不仅提供了一系列的分布式的Java常用对象,还提供了许多分布式服务。其中包括(BitSet, Set, Multimap,...[2024/3/1]

面试必备:一线大厂Redis缓存设计规范与性能优化 - 江-小北

说在前面 你是否在使用Redis时,不清楚Redis应该遵循的设计规范而苦恼? 你是否在Redis出现性能问题时,不知道该如何优化而发愁? 你是否被面试官拷问过Redis的设计规范和性能优化而回答不出来 别慌,看这篇文章就行了 本文,已收录于,我的技术网站 aijiangsir.com...[2024/3/1]

【进阶篇】使用 Redis 实现分布式缓存的全过程思考(一)

目录前言一、关于缓存二、基本数据结构三、缓存注解3.1自定义注解3.2定义切点(拦截器)3.3 AOP 实现3.4使用示例四、数据一致性4.1缓存更新策略4.2缓存读写过程五、高可用5.1缓存穿透5.2缓存击穿5.3缓存雪崩5.4Redis 集群六、文章小结 前言 写在前面,让我们从 3 个...[2024/2/28]

Redis加Lua脚本实现分布式锁

先讲一下为什么使用分布式锁: 在传统的单体应用中,我们可以使用Java并发处理相关的API(如ReentrantLock或synchronized)来实现对共享资源的互斥控制,确保在高并发情况下同一时间只有一个线程能够执行特定方法。然而,随着业务的发展,单体应用逐渐演化为分布式系统,多线程、多进...[2024/2/28]

Redis分布式锁的正确使用姿势

前言 分布式锁在日常开发中,用处非常的多。包括但不限于抢红包,秒杀,支付下单,幂等,等等场景。 分布式锁的实现方式有多种,包括redis实现,mysql实现,zookeeper实现等等。而其中redis非常适合作为分布式锁使用,并且在各个公司都大规模的使用。 本文将由浅入深的探究Redis分...[2024/2/26]

Redis的Java客户端-Jedis

Redis的Java客户端-Jedis 在Redis官网中提供了各种语言的客户端,地址:https: redis.io/doc client 其中Java客户端也包含很多: 标记为?的就是推荐使用的java客户端,包括: Jedis和Lettuce:这两个主要是提供了Redis命...[2024/2/5]

【经典问题】mysql和redis数据一致性问题

前言 MySQL和Redis数据一致性算是个很经典的问题,在之前也看到过很多相关的文章,最近心血来潮,想把一致性问题的解决方案和存在问题都总结一下。 不推荐方案 1 先更新MySQL,再更新Redis。 如上图有两个请求要同时进行更新操作,在并发情况下,B请求虽然更新时间晚于A请求,但是可...[2024/1/5]

redis + AOP + 自定义注解实现接口限流

限流介绍 限流(rate limiting) ? 是指在一定时间内,对某些资源的访问次数进行限制,以避免资源被滥用或过度消耗。限流可以防止服务器崩溃、保证用户体验、提高系统可用性。 限流的方法有很多种,常见的有以下几种: 漏桶算法: ? 漏桶算法通过一个固定大小的漏桶来模...[2024/1/5]

架构与思维:如何应对Redis热Key? - Hello-Brand

架构与思维:如何应对Redis热Key? - Hello-Brand

★ Redis系列文章 Redis系列1:深刻理解高性能Redis的本质 Redis系列2:数据持久化提高可用性 Redis系列3:高可用之主从架构 Redis系列4:高可用之Sentinel(哨兵模式) Redis系列5:深入分析Cluster 集群模式 追求性能极致:Redis6...[2023/12/26]

从Redis读取.NET Core配置

在本文中,我们将创建一个自定义的.NET Core应用配置源和提供程序,用于从Redis中读取配置。在此之前,您需要稍微了解一些.NET Core配置提供程序的工作原理,相关的内容可以在Microsoft开发者官网搜索到。另外您可能还需要了解一些Redis的基础知识,比如Redis的基础数据类型...[2023/12/26]

Redis全文搜索教程之创建索引并关联源数据

Redis 全文搜索是依赖于 Redis 官方提供的 RediSearch 来实现的。RediSearch 提供了一种简单快速的方法对 hash 或者 json 类型数据的任何字段建立二级索引,然后就可以对被索引的 hash 或者 json 类型数据字段进行搜索和聚合操作。 这里我们把被索引的...[2023/12/21]

nginx+lua+redis实现灰度发布

nginx+lua+redis实现灰度发布

前言: 授人以鱼不如授人以渔.先学会用,在学原理,在学创造,可能一辈子用不到这种能力,但是不能不具备这种能力。这篇文章主要是沉淀使用nginx+lua+redis实现灰度,当我们具备了这种能力,随时可以基于这种能力和思想调整实现方案:比如nginx+lua+(其他数据源)、nginx+(其他脚本...[2023/12/18]

基于Redis的简易延时队列

基于Redis的简易延时队列 一、背景 在实际的业务场景中,经常会遇到需要延时处理的业务,比如订单超时未支付,需要取消订单,或者是用户注册后,需要在一段时间内激活账号,否则账号失效等等。这些业务场景都可以通过延时队列来实现。 最近在实际业务当中就遇到了这样的一个场景,需要实现一个延时队列,用来...[2023/12/11]

.NET8.0 AOT 经验分享 FreeSql/FreeRedis/FreeScheduler 均已通过测试

2023年11月15日,对.net的开发圈是一个重大的日子,.net 8.0正式版发布。 圈内已经预热了有半个月有余,性能不断超越,开发体验越来越完美,早在.net 5.0的时候就各种吹风Aot编译,直到6.0 7.0使用仍然比较麻烦,我个人比较期待本次更新的aot体验。 有的群友几个小时都...[2023/11/17]

基于C# Socket实现的简单的Redis客户端

前言     Redis是一款强大的高性能键值存储数据库,也是目前NOSQL中最流行比较流行的一款数据库,它在广泛的应用场景中扮演着至关重要的角色,包括但不限于缓存、消息队列、会话存储等。在本文中,我们将介绍如何基于C# Socket来实现一个简单的Red...[2023/11/15]

Redis 哨兵模式的原理及其搭建

Redis 哨兵模式的原理及其搭建

1.Redis哨兵 Redis提供了哨兵(Sentinel)机制来实现主从集群的自动故障恢复。 1.1.哨兵原理 1.1.1.集群结构和作用 哨兵的结构如图: 哨兵的作用如下: 监控:Sentinel 会不断检查您的master和slave是否按预期工作。 自动故障恢复:如果...[2023/11/10]

Redis创始人开源最小聊天服务器,仅200行代码,几天功夫已获2.8K Star!

中午时候,在技术交流群里聊起关于Redis创始人的一些趣事,比如离开Redis之后,去写科幻小说之类的。 因为好奇科幻小说,TJ君就去搜索了一下。结果一搜,发现Redis作者最近居然又搞了个新活儿! 世界上最小的聊天服务器 这次Redis作者的新开源项目名叫:SmallChat。 从关于内容...[2023/11/6]

美团面试:Redis 除了缓存还能做什么?可以做消息队列吗?

这是一道面试中常见的 Redis 基础面试题,主要考察求职者对于 Redis 应用场景的了解。 即使不准备面试也建议看看,实际开发中也能够用到。 内容概览: Redis 除了做缓存,还能做什么? 分布式锁:通过 Redis 来做分布式锁是一种比较常见的方式。通常情况下,我们都是基于 R...[2023/11/3]

Redis7新特性简介及十大数据类型

Redis7新特性简介及十大数据类型

Redis是基于内存的K-V键值对内存数据库 浅谈Redis7新特性 主要是自身底层性能和资源利用率上的提高和优化。 多AOF文件支持 config命令增强 限制客户端内存使用 listpack紧凑列表调整 访问安全性增强 Redis Funct...[2023/11/1]

Redis中的缓存雪崩、缓存击穿、缓存穿透问题

Redis中的缓存雪崩、缓存击穿、缓存穿透问题

1. 什么是缓存雪崩 当我们提到缓存系统中的问题,缓存雪崩是一个经常被讨论的话题。缓存雪崩是指在某一时刻发生大量的缓存失效,导致瞬间大量的请求直接打到了数据库,可能会导致数据库瞬间压力过大甚至宕机。尤其在高并发的系统中,这种情况会导致连锁反应,整个系统可能会崩溃。 1.1 缓存雪崩的成因 大量...[2023/10/19]

分享一个Redis自带的压测工具:redis-benchmark

前言 今天给xdm分享一个Redis自带的压测工具:redis-benchmark。 介绍 redis-benchmark 是一个用于测试 Redis性能的基准测试工具,可以帮助开发人员评估和比较 Redis 在不同配置或负载情况下的吞吐量和延迟。 使用 redis-benchmark 可以...[2023/10/19]

探索Redis与MySQL的双写问题

本文已收录至GitHub,推荐阅读 ?? Java随想录 微信公众号:Java随想录 原创不易,注重版权。转载请注明原作者和原文链接 目录双写一致问题缓存读写策略Cache-Aside Pattern(旁路缓存模式)Read/Write Through Pattern(读写穿透模式)W...[2023/10/13]

4款.NET开源的Redis客户端驱动库

前言 今天给大家推荐4款.NET开源免费的Redis客户端驱动库(以下排名不分先后)。 Redis是什么? Redis全称是REmote DIctionary Service,即远程字典服务。Redis 是一个使用C语言编写的、开源的(遵守 BSD 协议)、支持网络、可基于内存亦可持久化的日志...[2023/10/13]

Redis最常见的5种应用场景

Redis作为当今最流行的内存数据库,已经成为服务端加速的必备工具之一。对于Redis为什么那么快?以及Redis采用单线程,但为什么反而获得更高的性能的疑问,在之前的Redis为什么那么快?一文中,已经有所介绍。 今天通过这篇,我们来了解一下Redis最常见的5种应用场景。您可以通过视频来学...[2023/10/9]

RedisStack部署/持久化/安全/与C#项目集成

前言 Redis可好用了,速度快,支持的数据类型又多,最主要的是现在可以用来向量搜索了。 本文记录一下官方提供的 redis-stack 部署和配置过程。 关于 redis-stack redis-stack installs a Redis server with additional ...[2023/10/9]

Docker 安装 Redis 单机&集群总结

前言 Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于 内存 、 分布式 、可选持久性的键值对( Key-Value )存储数据库 redis版本:redis:6.2.13 作者:易墨 安装单机版 安装源:DockerHub 默认配置...[2023/10/9]

【Redis】Redis事务:原子性与回滚的真相揭秘

大家好,我是mep。今天一起来探讨一下Redis缓存的问题,SpringBoot如何集成Redis网上文章很多,基本都是介绍如何配置redisTemplate,如何调用,本文就不过多介绍了。这次我们研究的是:Redis的事务。 首先抛出一个问题,Redis支持事务吗?   &...[2023/9/25]

记一次 Redisson 线上问题 → ERR unknown command 'WAIT' 的排查与分析

开心一刻   昨晚和一个朋友聊天   我:处对象吗,咱俩试试?   朋友:我有对象   我:我不信,有对象不公开?   朋友:不好公开,我当的小三 问题背景   程序在生产环境稳定的跑着   直到有一天,公司执行组件漏洞扫描,有漏洞的 jar 要进行升级修复 ...[2023/9/20]

Linux服务器使用Redis作为数据缓存,并用log4j2进行日志记录

Linux服务器使用Redis作为数据缓存,并用log4j2进行日志记录

前言 个人网站使用Vue作为前端,SpringBoot作为后端,MySQL作为数据库,但前端每次请求都会从MySQL数据库中读取数据,而MySQL数据库的数据是存储于服务器磁盘中,所以响应速度有一定影响。之前了解过一点Redis数据库,该数据库数据存储于内存中(也可以持久化于磁盘中),数据读...[2023/9/20]

SpringBoot + Redis + Token 解决接口幂等性问题

SpringBoot + Redis + Token 解决接口幂等性问题

前言 SpringBoot实现接口幂等性的方案有很多,其中最常用的一种就是 token + redis 方式来实现。 下面我就通过一个案例代码,帮大家理解这种实现逻辑。 原理 前端获取服务端getToken() -> 前端发起请求 -> header中带上token -...[2023/9/18]

Redis从入门到放弃(12):pipeline管道技术

1、引言 在现代应用程序中,高性能和低延迟是至关重要的因素。而在处理大规模数据操作时,Redis作为一种快速、可靠的内存数据库,成为了许多开发人员的首选。 在Redis中,每个操作都需要与服务器进行往返通信,存在网络开销损耗,当有批量命令执行时,就会有较大的网络开销损耗。为了解决这个问题,Re...[2023/9/13]

Java开发面试--Redis专区

1、 什么是Redis?它的主要特点是什么? 答: Redis是一个开源的、基于内存的高性能键值对存储系统。它主要用于缓存、数据存储和消息队列等场景。 高性能:Redis将数据存储在内存中,并采用单线程的方式处理请求,使得其读写速度非常快,能够达到10万+的读写操作每秒。 数据结构丰富...[2023/9/13]

redis

博客地址:https: www.cnblogs.com/zylyehuo/ 五大数据类型 参考链接:redis学习 string,字符串类型 hash,哈希类型,如同python的dict set,无序集合 zset,有序集合 list,双向队列,向左插入数据,向右插入数据,向左、右...[2023/9/10]

Redis的三大问题

一般我们对缓存读操作的时候有这么一个固定的套路: 如果我们的数据在缓存里边有,那么就直接取缓存的。 如果缓存里没有我们想要的数据,我们会先去查询数据库,然后将数据库查出来的数据写到缓存中。 最后将数据返回给请求 代码例子: 1 @Override 2 public R sel...[2023/9/10]

【后端面经-数据库】Redis数据结构和底层数据类型

目录1. Redis数据类型1.1 基本数据类型1. string2. hash3. list4. set5. sortset/Zset1.2 特殊数据类型1. bitmap2. hyperloglog3. GEO4. stream2. Redis底层数据类型2.1 简介2.2 动态字符串SD...[2023/9/9]

一台服务器上部署 Redis 伪集群

哈喽大家好,我是咸鱼 今天这篇文章介绍如何在一台服务器(以 CentOS 7.9 为例)上通过 redis-trib.rb 工具搭建 Redis cluster (三主三从) redis-trib.rb 是一个基于 Ruby 编写的脚本,其功能涵盖了创建、管理以及维护 Redis 集群的各个...[2023/8/29]

Redis常用命令

目录起因配置bind端口连接开启连接关闭连接命令key相关字符串相关hash相关List相关Set相关SortedSet相关GEO相关服务器命令引用 起因 从标题来看,似乎这篇博文没有看下去的必要了,谁用redis还敲命令行,不都是GUI嘛。 确实,GUI现在特别的好用,直观、高效还美观。...[2023/8/29]

Redis从入门到放弃(11):雪崩、击穿、穿透

1、前言 Redis作为一款高性能的缓存数据库,为许多应用提供了快速的数据访问和存储能力。然而,在使用Redis时,我们不可避免地会面对一些常见的问题,如缓存雪崩、缓存穿透和缓存击穿。本文将深入探讨这些问题的本质,以及针对这些问题的解决方案。 2、缓存雪崩 2.1、问题描述 在某个时间点,...[2023/8/29]

Redis专题-秒杀

Redis专题-秒杀

Redis专题-并发/秒杀 开局一张图,内容全靠“编”。 昨天晚上在群友里看到有人在讨论库存并发的问题,看到这里我就决定写一篇关于redis秒杀的文章。 1、理论部分 我们看看一般我们库存是怎么出问题的 其实redis提供了两种解决方案:加锁和原子操作。 1.1、加锁 加锁:...[2023/8/21]

Redis 持久化及集群架构

1 Redis 持久化 1.1 持久化的概念和原因 Redis 持久化是指将 Redis 服务器中的数据保存到磁盘上,以便在服务器重启后可以重新加载数据。持久化是为了解决 Redis 内存数据库的数据丢失问题。 持久化的原因有以下几点: 数据安全:通过将数据保存到磁盘上,即使发生服务器故障或...[2023/8/16]

优化 Redis 集群缓存分配:解决节点间分配不均导致内存溢出问题

一、Redis 集群部署简介 在现代应用程序中,缓存被广泛应用以提高性能和减轻后端数据库的压力。本文将探讨面对 Redis 集群缓存分配不均问题时的解决方法。 我们的 Redis 集群部署包括 3 主 3 从,每个节点分配内存 4G(服务器总内存32G),内存淘汰策略相同:volatile-l...[2023/8/16]

缓存面试解析:穿透、击穿、雪崩,一致性、分布式锁、Redis过期,海量数据查找

缓存面试解析:穿透、击穿、雪崩,一致性、分布式锁、Redis过期,海量数据查找

为什么使用缓存 在程序内部使用缓存,比如使用map等数据结构作为内部缓存,可以快速获取对象。通过将经常使用的数据存储在缓存中,可以减少对数据库的频繁访问,从而提高系统的响应速度和性能。缓存可以将数据保存在内存中,读取速度更快,能够大大缩短数据访问的时间,提升用户体验。 在业界中,通常在...[2023/8/9]

Redis从入门到放弃(10):分布式锁

在分布式系统中,实现对共享资源的安全访问是一个关键问题。Redis作为一种高性能的内存数据库,提供了多种方式来实现分布式锁,以解决多个节点之间对共享资源的并发访问问题。 本文将介绍五种Redis分布式锁的解决方案及其原理、应用场景以及Java代码的实现步骤。 1、SETNX SETNX(SE...[2023/8/9]

Redis从入门到放弃(8):哨兵模式

在前面的文章中介绍了Redis的主从复制,但主从复制存在一定的缺陷。如果Master节点宕机,因为不具备自动恢复功能,需要人工干预,那么在这个干预过程中Redis将不可用。 为了解决这一问题,Redis官方推荐一种高可用方案:哨兵模式(Sentinel)。 1、什么是哨兵模式? 哨兵模式是R...[2023/8/4]

Redis从入门到放弃(7):主从复制

目录1、概念2、作用3、配置4、原理4.1、第一阶段:建立链接、协商同步4.2、第二阶段:数据同步4.3、第三阶段:命令传播 1、概念 主从复制是Redis的一项重要特性,用于将一个Redis服务器(Master主节点)的数据复制到其他Redis服务器(Slave从节点),以实现数据的高可用...[2023/8/4]

Redis从入门到放弃(6):持久化

1、引言 Redis作为一种高性能的内存数据存储系统,常被用作缓存、会话存储、消息队列等多种应用场景。然而,由于其数据存储在内存中,一旦发生意外或服务器重启,数据就会丢失。为了保障数据的持久性和安全性。 Redis提供了多种持久化方案: RDB(Redis DataBase):按指定的时间间...[2023/8/4]

Redis从入门到放弃(5):事务

Redis从入门到放弃(5):事务

1、事务的定义 Redis的事务提供了一种“将多个命令打包, 然后一次性、按顺序地执行”的机制。 redis事务的主要作用就是串联多个命令防止别的命令插队。 但是,事务并不具有传统数据库事务的特性,如回滚。 2、事务命令 Redis中的事务可以通过以下命令来执行: MULTI:用于开启一...[2023/7/31]

Redis从入门到放弃(3):发布与订阅

1、介绍 Redis是一个快速、开源的内存数据库,支持多种数据结构,如字符串、哈希、列表、集合、有序集合等。除了基本的数据存储和检索功能外,Redis还提供了许多高级功能,其中之一就是发布订阅(Pub/Sub)。 发布订阅是一种消息传递模式,它允许消息的发布者(发布者)将消息发送给多个订阅者(...[2023/7/28]

Redis从入门到放弃(1):安装配置

1. 介绍 Redis是一个高性能的开源key-value数据库。它被广泛应用于缓存、会话存储、实时分析、消息队列等场景。Redis具有以下三个主要特点: 数据持久化:Redis支持将内存中的数据保存到磁盘上,确保数据在断电或重启后不丢失。 多样数据结构:除了支持简单的key-value存储,...[2023/7/28]

Redis持久化机制 RDB、AOF、混合持久化详解!如何选择?

本文已经收录进 JavaGuide(「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。) Redis 持久化机制属于后端面试超高频的面试知识点,老生常谈了,需要重点花时间掌握。即使不是准备面试,日常开发也是需要经常用到的。 最近抽空对之前写的 Redis 持...[2023/7/28]

357
2
记录数:705 页数:1/1512345678910下一页尾页
 友情链接:直通硅谷  直通硅谷 怎么样 mac软件下载
加载更多