随笔分类 - redis
摘要:概述 缓存击穿、缓存穿透、缓存雪崩这三个问题是Reids在实际项目中会经常遇到问题,同时,这三个问题也是面试的热点问题,下面,就本篇文章搞懂缓存穿透、缓存击穿、缓存雪崩三大问题的原因及解决方法。 Redis在项目中作为缓存中间件是如何工作的?如图所示 客户端发起一个查询请求的时候,首先去缓存中查询,
阅读全文
摘要:当你在使用 Redis 时遇到错误信息 DENIED Redis is running in protected mode because protected mode is enabled and no password is set for the default user,这意味着 Redis
阅读全文
摘要:在使用Redis作为缓存系统时,缓存穿透(Cache Penetration) 和 缓存雪崩(Cache Avalanche) 是两种常见的问题。它们会影响缓存系统的性能和稳定性。以下是这两种问题的详细解释及其解决方法。 缓存穿透(Cache Penetration) 缓存穿透是指查询一个在缓存和数
阅读全文
摘要:1.查找redis-cli所在目录 which redis-cli 2.切换到redis-cli目录 3.切换到usr/bin 目录 执行以下命令 redis-cli -h ip -p port 4. 验证redis登录密码 auth 'password' 5.获取redis数据
阅读全文
摘要:无法远程连接Redis的原因及解决方法 1.可能的原因 防火墙设置:防火墙可能会阻止远程连接Redis服务。 配置问题:可能是redis的配置文件中存在错误或者参数设置不当。 网络问题:可能是网络连接不稳定或者网络环境配置不正确。 2.解决方法 2.1 检查防火墙设置 linux系统可以使用以下命令
阅读全文
摘要:前言 Redis版本7.0.4 服务器版本:Linux CentOS 8.0 64位 1.下载Redis 进入官网找到下载地址 https://redis.io/download 进入到Xshell控制台(默认当前是root根目录),输入wget 将上面复制的下载链接粘贴上,如下命令: wget h
阅读全文
摘要:1.五种常见数据类型 Redis中的数据类型指的是 value存储的数据类型,key都是以String类型存储的,value根据场景需要,可以以String、List等类型进行存储。 各数据类型介绍: Redis数据类型对应的底层数据结构 2.String 类型的应用场景 2.1 常用命令 存放键值
阅读全文
摘要:1.与关系型数据库事务的区别 Redis事务是指将多条命令加入队列,一次批量执行多条命令,每条命令会按顺序执行,事务执行过程中不会被其他客户端发来的命令所打断。也就是说,Redis事务就是一次性、顺序性、排他性的执行一个队列中的一系列命令。 Redis事务和关系型数据库的事务不太一样,它不保证原子性
阅读全文
摘要:1.Redis为什么这么快? 完全基于内存,数据存在内存中,绝大部分请求是纯粹的内存操作,非常快速,跟传统的磁盘文件数据存储相比,避免了通过磁盘IO读取到内存这部分的开销。 数据结构简单,对数据操作也简单。【Redis中的数据结构】是专门进行设计的,每种数据结构都有一种或多种数据结构来支持。Redi
阅读全文
摘要:前言 Redis作为企业级应用中广泛使用的高性能键值存储数据库,其性能优化是一个复杂且多面的话题。 Redis的性能优化涉及到硬件选择、配置调整、客户端优化、持久化策略等多个层面。 1.硬件优化 解决方案:选择更快的CPU、更多的内存、更快的磁盘(SSD推荐)和足够的网络带宽。 2.合理的实例部署
阅读全文
摘要:使用复杂度高的命令 Redis提供了慢日志命令的统计功能 首先设置Redis的慢日志阈值,只有超过阈值的命令才会被记录,这里的单位是微妙,例如设置慢日志的阈值为5毫秒,同时设置只保留最近1000条慢日志记录: # 命令执行超过5毫秒记录慢日志 CONFIG SET slowlog-log-slowe
阅读全文
摘要:前言 Redis的高可用机制有持久化、复制、哨兵和集群。其主要的作用和解决的问题分别是: 持久化:持久化是最简单的高可用方法(有时甚至不被归为高可用的手段),主要作用是数据备份,即将数据存储在硬盘,保证数据不会因进程退出而丢失。 复制:复制是高可用Redis的基础,哨兵和集群都是在复制基础上实现高可
阅读全文
摘要:前言 Redis单实例的架构,从最开始的一主N从,到读写分离,再到Sentinel哨兵机制,单实例的Redis缓存足以应对大多数的使用场景,也能实现主从故障迁移。 但是,在某些场景下,单实例存Redis缓存会存在的几个问题: 写并发:Redis单实例读写分离可以解决读操作的负载均衡,但对于写操作,仍
阅读全文
摘要:前言 本地缓存带来的挑战有哪些 分布式缓存相比于本地缓存,在实现层面需要关注的点有哪些不同。梳理如下: 从上述几个维度的对比可以发现,同样是缓存,但集中式缓存所承担的使命是完全不一样的,业务对集中式缓存的存储容量、可靠性、承压性等方面的诉求也是天壤之别,不可等同视之。以Redis为例: 如何打破re
阅读全文
摘要:1.基本操作 2.字符串(Strings) 3.列表(Lists) 4.哈希(Hashes) 5.位图(Bitmaps) 6.位域(Bitfields) 7.集合(Sets) 8.有序集合(SortedSets) 9.流(Streams) 10。地理空间(Geospatial) 11.HyperLo
阅读全文
摘要:前言 Redis,作为一种开源的、基于内存且支持持久化的键值存储系统,以其卓越的性能、丰富灵活的数据结构和高度可扩展性在全球范围内广受欢迎。Redis不仅提供了一种简单直观的方式来存储和检索数据,更因其支持数据结构如字符串、哈希、列表、集合、有序集合等多种类型,使得其在众多场景下表现出强大的适用性和
阅读全文
摘要:前言 Redis作为一款高效的内存数据存储系统,被广泛应用在业务系统中的缓存层,尤其是在与关系型数据库(如MySQL、PostgreSQL等)结合使用时,通过将热点数据存储在Redis中,可以在很大程度上缓解数据库的压力,提高整体系统的性能表现。 很重要的问题是:如何确保Redis缓存与数据库之间的
阅读全文
摘要:1.下载 Redis for Windows Redis 官方并没有提供 Windows 版本的安装包,但你可以使用 Microsoft 维护的 Windows 版本的 Redis。你可以从以下链接下载 Redis for Windows: git项目地址:https://github.com/mi
阅读全文