
Redis
文章平均质量分 93
Redis
爱吃牛肉的大老虎
学无止境,既要有深度又要有广度地学习
展开
-
Redis两级缓存之Caffeine讲解使用
在高性能的服务架构设计中,缓存是一个不可或缺的环节。在实际的项目中,我们通常会将一些热点数据存储到Redis或MemCache这类缓存中间件中,只有当缓存的访问没有命中时再查询数据库。在提升访问速度的同时,也能降低数据库的压力。随着不断的发展,这一架构也产生了改进,在一些场景下可能单纯使用Redis类的远程缓存已经不够了,还需要进一步配合本地缓存使用,例如或Caffeine,从而再次提升程序的响应速度与服务性能。于是,就产生了使用本地缓存作为一级缓存,再加上远程缓存作为二级缓存的两级缓存架构。原创 2025-03-01 10:35:42 · 727 阅读 · 0 评论 -
Redis运维之监控指标,性能监控,监控方式,响应慢分析
root@CombCloud-2020110836 src]# ./redis-cli info | grep rdb_changes_since_last_saverdb_changes_since_last_save:0 # 自最后一次持久化以来数据库的更改数。当出现百 MB,甚至 GB 级别的 swap 大小时,就表明,此时,Redis 实例的内存压力很大,很有可能会变慢。由于超出最大连接数限制而被拒绝的客户端连接次数,如果这个数字很大,则意味着服务器的最大连接数设置得过低,需要调整。原创 2024-09-14 18:05:59 · 1739 阅读 · 0 评论 -
Redis之Lua脚本讲解
当涉及Lua编程时,以下是对前述12个关键概念的详细说明,附带Lua代码示例以帮助更深入了解这门编程语言@Inherited/*** key*//*** Key的前缀*//*** 一定时间内最多访问次数*//*** 给定的时间范围 单位(秒)*///设置value的序列化方式为JSOn // redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);原创 2023-10-26 11:09:53 · 5976 阅读 · 0 评论 -
SpringBoot之使用Redis和注解实现接口幂等性
*** 在需要保证 接口幂等性 的Controller的方法上使用此注解/*** 在需要保证 接口幂等性 的Controller的方法上使用此注解/*** 在需要保证 接口幂等性 的Controller的方法上使用此注解/*** 在需要保证 接口幂等性 的Controller的方法上使用此注解Retention;/*** 在需要保证 接口幂等性 的Controller的方法上使用此注解/**原创 2023-10-09 14:08:27 · 316 阅读 · 0 评论 -
Redis之Redisson原理详解
Redisson顾名思义,Redis的儿子,本质上还是Redis加锁,不过是对Redis做了很多封装,它不仅提供了一系列的分布式的Java常用对象,还提供了许多分布式服务。原创 2023-06-11 16:27:34 · 5142 阅读 · 1 评论 -
Redis查询之RediSearch和RedisJSON讲解
首先介绍下RedisMod这个东西,它是一系列Redis的增强模块。有了RedisMod的支持,Redis的功能将变得非常强大。目前RedisModRediSearch:一个功能齐全的搜索引擎;RedisJSON:对JSON类型的原生支持;:时序数据库支持;RedisGraph:图数据库支持;RedisBloom:概率性数据的原生支持;RedisGears:可编程的数据处理;RedisAI:机器学习的实时模型管理和部署。原创 2023-01-07 20:21:36 · 6596 阅读 · 2 评论 -
Redis之RDB,AOF和集群同步讲解
总结来说,每次AOF重写时,Redis会先执行一个内存拷贝,用于重写;然后,使用两个日志保证在重写过程中,新写入的数据不会丢失。而且,因为Redis采用子进程进行日志重写,所以,这个过程并不会阻塞主线程。正因为记录的是操作命令,而不是实际的数据,所以,用AOF方法进行故障恢复的时候,需要逐一把操作日志都执行一遍。如果操作日志非常多,Redis就会恢复得很缓慢,影响到正常使用。原创 2023-04-06 11:31:06 · 516 阅读 · 0 评论 -
Redis之数据类型详解分析
Redis是以key-value存储的数据结构服务器,所有的key(键)是字符串,而value字符串类型(string):最基本的数据类型,二进制安全的字符串,最大512M列表类型(list):按照添加顺序保持顺序的字符串列表集合类型(set):无序的字符串集合,不存在重复的元素有序集合类型(sorted set或Zset):已排序的字符串集合散列类型(hash):key-value对的一种集合位操作(bitmap):更细化的一种操作,以bit为单位。基数统计(原创 2023-02-27 09:32:41 · 517 阅读 · 0 评论 -
Ehcache原理详细解读
文章目录1 统计代码耗时1.1 前言1.2 常规方法1.2.1 时间差统计1.2.2 StopWatch1 统计代码耗时今天跟大家分享一下,如何在代码中,统计接口耗时,最优雅,性能最高,接下来我将介绍4种统计方式。1.1 前言代码耗时统计在日常开发中算是一个十分常见的需求,特别是在需要找出代码性能瓶颈时。可能也是受限于 Java 的语言特性,总觉得代码写起来不够优雅,大量的耗时统计代码,干扰了业务逻辑。特别是开发功能的时候,有个感受就是刚刚开发完代码很清爽优雅,结果加了一大堆辅助代码后,整个代码就原创 2022-05-11 19:25:53 · 1690 阅读 · 0 评论 -
MemCache和一致性Hash算法讲解
文章目录1 MemCache讲解1.1 MemCache是什么1.2 MemCache访问模型1.3 MemCache写缓存流程1.4 一致性Hash算法1.4.1 余数Hash1.4.2 一致性Hash算法1.5 MemCache实现原理1.5.1 总结MemCache的特性和限制1.6 MemCache指令汇总1.6.1 stats指令解读1.6.2 stats slab指令解读1.7 MemCache的Java实现实例1 MemCache讲解1.1 MemCache是什么MemCache是一个自原创 2021-11-07 17:27:00 · 1122 阅读 · 0 评论 -
Redis面试之常见问题
文章目录1 Redis监控1.1 Redis监控指标1.1.1 性能指标: Performance1.1.2 内存指标: Memory1.1.3 基本活动指标:Basic activity1.1.4 持久性指标: Persistence1.1.5 错误指标:Error1.2 监控方式1.2.1 info1.2.2 性能监控:1.2.3 内存监控1.2.4 基本活动指标1.2.5 持久性指标1.2.6 错误指标1.3 redis性能测试命令面试官:Redis用过是吧?那你讲讲Redis都有哪些监控指标?1转载 2021-08-30 19:08:23 · 670 阅读 · 0 评论 -
消息队列中为什么不用redis作为队列
文章目录1 引言1.1 Redis中List队列1.1.1 简单使用1.1.2 解决cpu空转问题1.1.3 Redis阻塞式拉取1.2 Redis发布订阅1.2.1 简单使用1.2.2 发布订阅的缺点1.3 Redis中的Stream1.3.1 简单使用1.3.2 stream阻塞拉取1.3.3 Stream支持发布 / 订阅模式1.3.4 stream不丢消息1.3.5 stream持久化处理1.3.6 stream消息堆积1.4 与专业消息对比1.4.1 生产者会不会丢消息1.4.2 消费者会不会丢转载 2021-04-29 09:41:54 · 2642 阅读 · 0 评论 -
Redis集群之简单搭建和集群维护
文章目录1 redis集群1.1 redis集群简介1.2 redis集群步骤1.2.1 建立文件夹1.2.2 复制配置1.2.3 安装ruby1.2.3.1 gem install redis报错1.2.4 启动6个实例1.2.5 创建集群1 redis集群1.1 redis集群简介在redis3.0以前,提供了Sentinel工具来监控各Master的状态,如果Master异常,则会做主从切换,将slave作为master,同时把master作为slave。其配置也是稍微的复杂,并且各方面表现一般原创 2021-02-19 23:12:23 · 1211 阅读 · 4 评论 -
Redis之事物,分布式锁
文章目录1 Redis事务1.1 Redis事务命令1.2 Redis事务错误处理1.3 Redis事务其他命令1.3.1 redis的watch命令1.3.2 unwatch1.3.3 discard2 Redis分布式锁2.1 加锁2.2 释放锁1 Redis事务1.1 Redis事务命令Redis中的事务(transaction)是一组命令的集合。事务同命令一样都是Redis最小的执行单位,一个事务中的命令要么都执行,要么都不执行。Redis事务的实现需要用到MULTI 和 EXEC两个命令,事原创 2020-06-29 17:59:18 · 1109 阅读 · 1 评论 -
Reids之缓存穿透,击穿和更新
文章目录1 Redis缓存问题1.1 redis缓存穿透1.2 穿透解决方法1.3 redis缓存击穿1.4 击穿解决方法1.5 redis缓存雪崩1.6 雪崩解决方法2 redis缓存更新2.1 主动2.2 被动2.3 预加载2.4 执行和修改时更新2.4.1 查询时更新2.4.2 修改时更新3 redis持久化3.1 持久化流程3.2 RDB机制3.2.1 save触发方式3.2.2 bgsave触发方式3.2.3 自动触发3.2.4 RDB的优势和劣势3.2.4.1 优势3.2.4.2 劣势3.3 A原创 2020-06-21 00:13:32 · 544 阅读 · 0 评论 -
使用jedis配置单例模式和哨兵模式
文章目录1 配置文件1.1 application.properties1.2 引用配置文件2 主要实现方法2.1 定义抽象接口2.2 主要实现方法2.2.1 单例模式实现方法2.2.2 哨兵模式实现方法3 配置启动时引用相关类1 配置文件1.1 application.properties#哨兵监听的Redis Server的名称spring.redis.sentinel.master=...原创 2020-06-20 20:32:41 · 1549 阅读 · 2 评论 -
使用springboot自带redis配置redisTemplate的单例模式和哨兵模式
文章目录1 单例模式1.1 配置文件1.2 主要方法1 单例模式1.1 配置文件application.propertiesspring.redis.sentinel.master=mymaster#哨兵模式的配置列表用 , 隔开#spring.redis.sentinel.nodes=**.**.**.80:27000,**.**.**.81:27000,**.**.**.82:2...原创 2019-11-19 09:21:14 · 3669 阅读 · 3 评论 -
SpringBoot整合SpringDataRedis
目录1 简介2 主要源码2.1 pom.xml2.2 Spring Data Redis的配置类3 提前redis的参数为配置文件3.1 配置文件application.properties3.2 修改配置类4 SpringDataRedis操作实体对象4.1 实体对象,注意序列化4.2 测试代码5SpringDataRedis以JSON格式存储实体对...原创 2019-08-11 21:13:53 · 330 阅读 · 0 评论 -
Redis的前置启动和后置启动以及RedisDesktopManager连接不上
目录1 安装redis1.1 安装c环境1.2 解压上传的压缩包文件1.3 进入解压后的文件用make命令编译1.4 把redis安装到指定目录1.5 启动redis1.5.1 前置启动1.5.2 后置启动2 RedisDesktopManager连接不上redis2.1 修改安装包bin目录下的redis.conf文件2.1.1 修改bind2....原创 2019-07-15 11:33:23 · 907 阅读 · 1 评论 -
Redis和集群简介和并配置在linux环境
Redis(缓存) NoSql:(并不是一种真正的数据库,只是非关系型数据库的总称) 处理高并发,大型网络架构的数据库,但是这种数据库有一个特点,没有SQL语句,也是可以通过Java的的某些Class来进行操作数据库(引入某一个jar包) 在NoSql中需要了解两种数据库 列数据库: 以列为单...原创 2019-01-20 17:18:25 · 291 阅读 · 0 评论