
Redis 知识体系
文章平均质量分 67
Redis 知识专栏,记录知识只为自己的积累
故事写在心里-
《所有的王者都是从青铜过来的,没有捷径》靠自己A.
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Redis 连接超时:io.netty.channel.ConnectTimeoutException: connection timed out:
这个大坑问题,找了一天一夜的问题,睡觉都在想,为啥会本地连接超时呢,首先我连接的时Redis 哨兵集群:关键信息:最后有篇文件说让关闭了6379 端口:因为我的是基于服务器,所以我就试着关闭了下,真的就可以连接上了。奇葩的问题1. 在yml 中配置如下:2. pom文件配置如下: <dependency> <groupId>org.springframework.boot</groupId> <artifactId原创 2022-05-04 15:39:22 · 4638 阅读 · 0 评论 -
Redis 主从搭建_____ (及遇到的坑____)
文章目录:前言:开始搭建Redis 主从集群:1.上传下载好的 linux 版本的Redis 的服务器:2.集群规划:3. 我们创建三个文件夹,名字分别叫7001、7002、7003:4.拷贝配置文件到每个实例目录5.修改每个实例的端口、工作目录6.修改每个实例的声明IP逐一执行7.启动8.启动完成之后报错信息:自言自语中:敲黑板:开始测试查看状态主从集群永久生效和临时生效两种:9.总结:前言:今天是 五一劳动节 的第二天,心血来潮,买来一台服务器,搭建redis集,解决下本地java 中的另外一个问题原创 2022-05-02 23:22:13 · 1131 阅读 · 0 评论 -
Failed to deserialize java.time.LocalDateTime:
在本地post 请求数据时解析时间时报错:思路:1.后端属性是:private LocalDateTime date;2.前端提交的参数:不是json或者格式 2020-11-19解决:1.加上注解@JsonFormat(shape = JsonFormat.Shape.STRING, pattern=“yyyy-MM-dd HH:mm:ss”)private LocalDateTime date;2.提交的时间格式:yyyy-MM-dd HH:mm:ss /**原创 2022-04-07 17:57:08 · 7478 阅读 · 0 评论 -
使用 APIPost 本地测试报错401状态解决办法:org.springframework.http.converter.HttpMessageNotReadableException: JSON
前言: 实现需求就是先从redis 查询缓冲,缓存与数据库双写一致性需要,如果管理段更新了数据,那么数据库和redis 中的数据都是一致的才对。还原报错控制台异常日志:2022-04-04 22:38:36.214 ERROR 14084 — [nio-8081-exec-1] com.hmdp.config.WebExceptionAdvice : org.springframework.http.converter.HttpMessageNotReadableException: JSO原创 2022-04-05 14:57:54 · 4126 阅读 · 0 评论 -
关于 Redis 数据类型 HyperLogLog(十四)
HyperLogLog在开始这一节之前,我们先思考一个常见的业务问题:如果你负责开发维护一个大型的网站,有一天老板找产品经理要网站每个网页每天的 UV 数据,然后让你来开发这个统计模块,你会如何实现?如果统计 PV 那非常好办,给每个网页一个独立的 Redis 计数器就可以了,这个计数器的 key 后缀加上当天的日期。这样来一个请求,incrby 一次,最终就可以统计出所有的 PV 数据。但是 UV 不一样,它要去重,同一个用户一天之内的多次访问请求只能计数一次。这就要求每一个网页请求都需要带上用户的原创 2021-12-11 22:20:18 · 134 阅读 · 0 评论 -
关于 Redis 的 分布式锁 (十三)
分布式应用进行逻辑处理时经常会遇到并发问题。比如一个操作要修改用户的状态,修改状态需要先读出用户的状态,在内存里进行修改,改完了再存回去。如果这样的操作同时进行了,就会出现并发问题,因为读取和保存状态这两个操作不是原子的。(Wiki 解释:所谓原子操作是指不会被线程调度机制打断的操作;这种操作一旦开始,就一直运行到结束,中间不会有任何 context switch 线程切换。)这个时候就要使用到分布式锁来限制程序的并发执行。Redis 分布式锁使用非常广泛,它是面试的重要考点之一,很多同学都知道这个知识原创 2021-12-11 22:07:39 · 116 阅读 · 0 评论 -
关于 Redis 的 懒惰删除 (十三)
平波缓进 —— 懒惰删除一直以来我们认为 Redis 是单线程的,单线程为 Redis 带来了代码的简洁性和丰富多样的数据结构。不过Redis内部实际上并不是只有一个主线程,它还有几个异步线程专门用来处理一些耗时的操作。Redis 为什么要懒惰删除(lazy free)?删除指令 del 会直接释放对象的内存,大部分情况下,这个指令非常快,没有明显延迟。不过如果删除的 key 是一个非常大的对象,比如一个包含了千万元素的 hash,那么删除操作就会导致单线程卡顿。Redis 为了解决这个卡顿问题,在原创 2021-12-11 21:50:57 · 327 阅读 · 0 评论 -
关于 Redis 的 过期策略 (十二)
Redis 所有的数据结构都可以设置过期时间,时间一到,就会自动删除。你可以想象 Redis 内部有一个死神,时刻盯着所有设置了过期时间的 key,寿命一到就会立即收割。你还可以进一步站在死神的角度思考,会不会因为同一时间太多的 key 过期,以至于忙不过来。同时因为 Redis 是单线程的,收割的时间也会占用线程的处理时间,如果收割的太过于繁忙,会不会导致线上读写指令出现卡顿。这些问题 Antirez 早就想到了,所有在过期这件事上,Redis 非常小心。过期的 key 集合redis 会将每个设原创 2021-12-11 21:40:12 · 122 阅读 · 0 评论 -
关于 Redis 的 Info 指令(十一)
在使用 Redis 时,时常会遇到很多问题需要诊断,在诊断之前需要了解 Redis 的运行状态,通过强大的 Info 指令,你可以清晰地知道 Redis 内部一系列运行参数。Info 指令显示的信息非常繁多,分为 9 大块,每个块都有非常多的参数,这 9 个块分别是:Server 服务器运行的环境参数Clients 客户端相关信息Memory 服务器运行内存统计数据Persistence 持久化信息Stats 通用统计数据Replication 主从复制相关信息CPU CPU 使用情况Cl原创 2021-12-11 21:37:53 · 160 阅读 · 0 评论 -
关于 Redis 的持久化机制 (十)
数据丢失问题:Redis 的数据全部在内存里,如果突然宕机,数据就会全部丢失,因此必须有一种机制来保证 Redis 的数据不会因为故障而丢失,这种机制就是 Redis 的持久化机制。持久化:Redis 的持久化机制有两种,第一种是快照,第二种是 AOF 日志。快照是一次全量备份,AOF 日志是连续的增量备份。快照是内存数据的二进制序列化形式,在存储上非常紧凑,而 AOF 日志记录的是内存数据修改的指令记录文本。AOF 日志在长期的运行过程中会变的无比庞大,数据库重启时需要加载 AOF 日志进行指令重放原创 2021-12-11 16:12:14 · 105 阅读 · 0 评论 -
Redis 订阅发布模型(九.)
一、 概述:Redis 发布订阅 (pub/sub) 是一种消息通信模式:发送者 (pub) 发送消息,订阅者 (sub) 接收消息。Redis 客户端可以订阅任意数量的频道。下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、 client5 和 client1 之间的关系:当有新消息通过 PUBLISH 命令发送给频道 channel1 时, 这个消息就会被发送给订阅它的三个客户端:命令行实例:Redis 发布订阅命令 PSUBSCRIBE p原创 2021-10-16 20:17:43 · 106 阅读 · 0 评论 -
Redis 设置一个key的过期时间和生僻命令演习(八 .)
设置key 的存活时间100秒127.0.0.1:6379> EXPIRE HZQ 100查看还有多长时间存活127.0.0.1:6379> ttl HZQ(integer) 96127.0.0.1:6379> ttl HZQ(integer) 90127.0.0.1:6379> ttl HZQ(integer) 83127.0.0.1:6379> ttl HZQ 已经没了(integer) -2...原创 2021-10-16 15:57:47 · 102 阅读 · 0 评论 -
Redis 两种持久化 全方位解析(七)
Redis 持久化:Redis 是内存数据库,如果不将内存中的数据库状态保存到磁盘,那么一旦服务器进程退出,服务器中的数据库状态也会消失。所以Redis提供了持久化。RDB (Redis DataBase)图:在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是行话讲的Snapshot快照,他恢复时是将快照文件直接读到内存里。Redis 会单独创建(fork)一个子进程来进行持久化,会先将数据写入到一个临时文件中,待持久化过程结束了,再用这个临时文件替换上次持久化好的文件。整个过程中原创 2021-10-10 14:53:39 · 84 阅读 · 0 评论 -
Spring-boot 整合 Redis 操作篇(六)
文章目录:一、概念:说明:在SpringBoot 2.0中 版本中,Redis 客户端驱动现在由 Jedis变为了 Lettuce,也就是说在1.X 版本时,底层使用 jedislettuce 与jedis 的区别:参考 两者对比情况:整合步骤正式开始:1、在所在项目内导入包:2、源码分析:3、配置链接:4、测试链接redis使用API方式操作:通过 redisTemplate; 展示出的API 数据类型5、更改默认的JDK序列化, redis 常用序列化配置类:二、使用工具类操作Redis 数据类原创 2021-10-09 09:39:48 · 402 阅读 · 0 评论 -
Jedis 概念与 IntelliJ IDEA 集成(五)
前言:上篇文章搭建好的本地服务,就是为了使用Jedis而服务。一、Jedis 概念:Jedis 是Redis 官方推荐的java 链接开发工具,也就是使用Java操作Redis 中间件 ,命名为Jedis 。操作步骤:1、在idea内导入包<!-- https://mvnrepository.com/artifact/redis.clients/jedis --><dependency> <groupId>redis.clients<原创 2021-10-08 13:46:23 · 5772 阅读 · 0 评论 -
Windows版本的Redis 搭建(四)
1、官网上找了半天没有找到下载Windows版的地方,网上找到了百度网盘下载的地方,谢这位大佬。2、百度网盘下载地址:密码:kdfqhttps://pan.baidu.com/s/1z1_OdNVbtgyEjiktqgB83g?_at_=16335857607713、下载完成之后,解压启动4、进入解压目录,使用cil 客户端工具进行链接5、验证是否链接成功,输入ping命令测试,显示链接成功!6、输入命令,体验下效果。买不起阿里云????7、注意点:...原创 2021-10-07 14:12:44 · 95 阅读 · 0 评论 -
认识 Redis 事务命令 与 乐观锁(三)
一、什么是事务事务是指一系列操作步骤,这一系列的操作步骤,要么完全地执行,要么完全地不执行。Redis 中的事务(transaction)是一组命令的集合,至少是两个或两个以上的命令,redis 事务保证这些命令被执行时中间不会被任何其他操作打断。事务操作的命令● multi语法: multi作用:标记一个事务的开始。事务内的多条命令会按照先后顺序被放进一个队列当中。返回值:总是返回 ok● exec语法:exec作用:执行所有事务块内的命令返回值:事务内的所有执行语句内容,事原创 2021-10-06 17:21:55 · 133 阅读 · 0 评论 -
关于—(Redis key 的基本命令 与 八大数据类型)
此链接为命令介绍:http://www.redis.cn/commands.html五大数据类型 介绍:原创 2021-10-05 21:03:48 · 114 阅读 · 0 评论 -
Redis 基础知识与参数命令介绍(一)
文章目录:一、概述与介绍:定义:特性:二、 安装步骤:三、Redis 的基本知识说明 四、 redis 是单线程的 一、概述与介绍:Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。什么是 No SQL?not Only SQL (不仅仅是SQL)关系型数据库:表格,行,列定义:Redis 是一个高性能的key-value数据库。原创 2021-10-05 13:08:11 · 233 阅读 · 0 评论