• 欢迎访问 winrains 的个人网站!
  • 本网站主要从互联网整理和收集了与Java、网络安全、Linux等技术相关的文章,供学习和研究使用。如有侵权,请留言告知,谢谢!

Redis 持久化方案

Redis 持久化方案
前言 文章首发于微信公众号【码猿技术专栏】:天天用Redis,持久化方案有哪些你知道吗? Redis目前已经成为主流的内存数据库了,但是大部分人仅仅是停留在会用的阶段,你真的了解Redis内部的工作原理吗? 今天这篇文章将为大家介绍Redis持久化的两种方案,文章将会从以下五个方面介绍: 什么是RDB,RDB如何实现持久化? 什么是AOF,AO……继续阅读 »

winrains 6个月前 (04-30) 71浏览 2个赞

缓存穿透概念及解决方案

缓存穿透概念及解决方案
前言 昨天有读者朋友留言,想要陈某写一篇防止缓存穿透的文章,今天特意写了一篇。 文章目录如下:   什么是缓存穿透? 缓存穿透其实是指从缓存中没有查到数据,而不得不从后端系统(比如数据库)中查询的情况。 缓存毕竟是在内存中,不可能所有的数据都存储在 Redis 中,因此少量的缓存穿透是不可避免的,也是系统能够承受的,但是一旦在瞬间发生大量的缓存穿透,……继续阅读 »

winrains 6个月前 (04-30) 56浏览 3个赞

Spring Boot 高级篇–Redis(9):Redis之管道Pipelined使用姿势

Spring Boot 高级篇–Redis(9):Redis之管道Pipelined使用姿势
redis管道技术,可以在服务端未响应时,客户端可以继续向服务端发送请求,并最终一次性读取所有服务端的响应,这种技术可以很方便的支持我们的批量请求,下面简单介绍下如何使用RedisTemplate来使用管道 I. 基本使用 1. 配置 我们使用SpringBoot 2.2.1.RELEASE来搭建项目环境,直接在pom.xml中添加redis依赖 <d……继续阅读 »

winrains 7个月前 (04-13) 243浏览 2个赞

Redis 性能优化的 13 条军规

Redis 性能优化的 13 条军规
Redis 是基于单线程模型实现的,也就是 Redis 是使用一个线程来处理所有的客户端请求的,尽管 Redis 使用了非阻塞式 IO,并且对各种命令都做了优化(大部分命令操作时间复杂度都是 O(1)),但由于 Redis 是单线程执行的特点,因此它对性能的要求更加苛刻,本文我们将通过一些优化手段,让 Redis 更加高效的运行。 本文我们将使用以下手段……继续阅读 »

winrains 7个月前 (03-28) 37浏览 1个赞

SpringSession系列:存储机制之Redis&Map

SpringSession系列:存储机制之Redis&Map
在之前的文章中已经对SpringSession的功能结构,请求/响应重写等做了介绍。本文将继续来介绍下SpringSession中存储部分的设计。存储是分布式session中算是最核心的部分,通过引入三方的存储容器来实现session的存储,从而有效的解决session共享的问题。 1、SpringSession存储的顶级抽象接口 SpringSession……继续阅读 »

winrains 7个月前 (03-21) 60浏览 2个赞

Redis 面试全攻略

Redis 面试全攻略
0x00.前言 众所周知数据结构和算法是面试重点,我们持续发力是十分明智的,要不然最后肯定是要吃亏的,少打打游戏刷刷微博可以改变我们的生活水平哦。 不过本文不是要讲述数据结构和算法的,而是另外一个面试重点Redis,因为Redis也是跨语言的共同技术点,无论是Java还是C++都会问到,所以是个高频面试点。 笔者是2017年才开始接触Redis的,期间自……继续阅读 »

winrains 8个月前 (02-29) 55浏览 3个赞

为什么 Redis 快照使用子进程

为什么 Redis 快照使用子进程
为什么这么设计(Why’s THE Design)是一系列关于计算机领域中程序设计决策的文章,我们在这个系列的每一篇文章中都会提出一个具体的问题并从不同的角度讨论这种设计的优缺点、对具体实现造成的影响。如果你有想要了解的问题,可以在文章下面留言。 虽然我们经常将 Redis 看做一个纯内存的键值存储系统,但是我们也会用到它的持久化功能,RDB 和 AOF 就……继续阅读 »

winrains 9个月前 (02-07) 64浏览 1个赞

Redis 命令执行过程(下)

Redis 命令执行过程(下)
在上一篇文章中《Redis 命令执行过程(上)》中,我们首先了解 Redis 命令执行的整体流程,然后细致分析了从 Redis 启动到建立 socket 连接,再到读取 socket 数据到输入缓冲区,解析命令,执行命令等过程的原理和实现细节。接下来,我们来具体看一下 set 和 get 命令的实现细节和如何将命令结果通过输出缓冲区和 socket 发送给 ……继续阅读 »

winrains 9个月前 (02-07) 44浏览 1个赞

Redis 命令执行过程(上)

Redis 命令执行过程(上)
今天我们来了解一下 Redis 命令执行的过程。在之前的文章中《当 Redis 发生高延迟时,到底发生了什么》我们曾简单的描述了一条命令的执行过程,本篇文章展示深入说明一下,加深读者对 Redis 的了解。 如下图所示,一条命令执行完成并且返回数据一共涉及三部分,第一步是建立连接阶段,响应了socket的建立,并且创建了client对象;第二步是处理阶段,从……继续阅读 »

winrains 9个月前 (02-07) 60浏览 1个赞

Redis Cluster 的数据分片机制

Redis Cluster 的数据分片机制
上一篇《分布式数据缓存中的一致性哈希算法》 文章中讲述了一致性哈希算法的基本原理和实现,今天就以 Redis Cluster 为例,详细讲解一下分布式数据缓存中的数据分片,上线下线时数据迁移以及请求重定向等操作。 Redis 集群简介 Redis Cluster 是 Redis 的分布式解决方案,在 3.0 版本正式推出,有效地解决了 Redis 分布……继续阅读 »

winrains 11个月前 (12-14) 67浏览 1个赞