![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Redis
NSAKA_
这个作者很懒,什么都没留下…
展开
-
解决 Error creating bean with name redisConnectionFactory问题
Error creating bean with name ‘cacheManager’ defined in class path resource [org/springframework/boot/autoconfigure/cache/RedisCacheConfiguration.class]: Unsatisfied dependency expressed through method ‘cacheManager’ parameter 0; nested exception is org.sp原创 2020-06-02 13:59:21 · 7470 阅读 · 1 评论 -
Redis主从复制常见的一些问题
频繁的全量复制(一)伴随着系统的运行,master的数据会越来越大,一旦master重启,runid将发生变化,会导致所有的slave进行全量复制内部优化调整方案:master 内部创建master_replid变量,使用runid相同的策略生成,长度41位,并发送给左右的slave在master关闭时执行命令shutdown save,进行RDB持久化,将runid和offset存储到RDB文件中repl-id repl-offset通过redis-check-rdb命令可以查看该信息原创 2020-05-29 15:00:16 · 410 阅读 · 0 评论 -
Redis主从复制(三)
数据同步+命令传播阶段工作流程心跳机制进入命令传播阶段后,master和slave间需要进行数据信息交换,使用心跳机制进行维护,实现双方连接保持在线master心跳:指令:PING周期:由repl-ping-slave-period决定,默认10秒作用:判断slave是否在线查询:INFO replication 获取slave最后一次连接时间间隔,lag项维持在0或1视为正常slave心跳:指令:REPLCONF ACK{offset}周期:1秒作用1:汇报slave自原创 2020-05-29 13:43:22 · 158 阅读 · 0 评论 -
Redis主从复制(二)
主从复制工作流程阶段二:数据同步阶段工作流程在slave初次连接master后,复制master中的所有数据到slave将slave的数据库状态更新成master当前的数据状态步骤一:请求同步数据步骤二:创建RDB同步数据步骤三:恢复RDB同步数据步骤四:请求部分同步数据步骤五:恢复部分同步数据至此,数据同步工作完成状态:slave:具有master的全部数据,包含RDB过程接收的数据master:保存slave当前数据同步的位置总体:完成了数据的克隆数据同步阶段mas原创 2020-05-28 21:51:19 · 103 阅读 · 0 评论 -
Redis主从复制(一)
单机redis的风险和问题问题1.机器故障现象:硬盘故障,系统崩溃本质:数据丢失,很可能对业务造成灾难性打击结论:基本上会放弃使用redis问题2.容量瓶颈现象:内存不足,从16G升级到64G等等无限升级…本质:穷,硬件条件跟不上结论:放弃使用redis结论为了避免单点redis服务器故障,准备多台服务器,互相连通.将数据复制多个副本保存在不同的服务器上,连接在一...原创 2020-05-11 23:07:06 · 98 阅读 · 0 评论 -
Redis三种删除策略
首先我们先说一下redis删除的是过期数据,而什么是过期数据呢?过期数据就是设置了有效性的数据到达了过期时间的数据.TTL指令获取数据状态返回时间:具有时效性的数据返回-1:表示永久有效的数据返回-2:表示已经过期的数据或被删除的数据或未定义的数据时效性数据的存储结构数据删除策略的目标在内存占用与CPU占用之间寻找一种平衡,顾此失彼都会造成整体redis性能的下降,甚至引发服务...原创 2020-04-21 14:41:45 · 4814 阅读 · 0 评论 -
Redis事务
redis事务就是一个命令执行的队列,将一系列定义命令包装成一个整体(一个队列).当执行时,一次性按照添加顺序依次执行,中间不会被打断或干扰.一个队列中,一次性,顺序性,排他性的执行一系列命令.事务的基本操作开启事务multi作用:设定事务的开启位置,此指令执行后,后续的所有指令均加入到事务中(队列中)执行事务exec作用:设定事务的结束位置,同时执行事务,与multi成对出现,...原创 2020-04-20 17:59:45 · 107 阅读 · 0 评论 -
Redis持久化RDB和AOF的区别
RDB和AOF的如何选择对数据非常敏感,建议使用默认的AOF持久化方案AOF持久化策略使用everysecond,每秒钟fsync一次,该策略redis仍可以保持很好的处理性能,当出现问题时,最多丢失0-1秒的数据注意:由于AOF文件存储体积较大,且恢复速度慢数据呈现阶段有效性,建议使用RDB持久化方案数据可以良好的做到阶段内无丢失(该阶段是开发者或运维人员手工维护的),且恢...原创 2020-04-19 23:07:11 · 353 阅读 · 0 评论 -
Redis持久化-AOF
AOFAOF持久化:以独立日志的方式记录每次写命令,重启时再重新执行AOF文件中命令达到恢复数据的目的.AOF的主要作用是解决了数据持久化的实时性,目前已经时redis持久化的主流方式AOF写数据的过程AOF写数据的三种策略always(每次)每次写入操作均同步到AOF文件中,数据零误差,性能较低,不建议使用everysec(每秒)每秒将缓存区中的指令同步到AOF文件中,数据准...原创 2020-04-19 21:30:31 · 297 阅读 · 0 评论 -
Redis持久化-RDB
持久化言简意赅,持久化就是将内存中的数据存储在硬盘中.持久化分为两种:RDB(快照)将当前数据状态进行保存,快照形式,存储数据结果,存储格式简单,关注点在数据AOF(日志)将数据的操作过程进行保存,日志形式,存储操作过程,存储格式复杂,关注点在数据的操作过程RDBsave指令-启动方式命令:save作用:手动执行一次保存操作save指令相关配置Redis相关配置...原创 2020-04-19 17:40:13 · 145 阅读 · 0 评论 -
Linux下Redis配置文件
基础配置daemonize yes以守护进程方式启动,使用本启动方式,redis将以服务的形式存在,日志将不再打印到命令窗口中port 6***设置当前服务启动端口号dir "/自定义目录/redis/data"设定当前服务文件保存位置,包含日志文件,持久化文件logfile "6*.log"**设定日志文件名,便于查阅RDB启动方式-save指令相关配置dbfilename ...原创 2020-04-18 16:44:22 · 1449 阅读 · 0 评论 -
Redis通用指令学习
keykey是一个字符串,通过key获取redis中保存的数据key基本操作删除指定key:del key查看key是否存在:exists key获取key的类型:type keykey扩展操作(时效性控制)为指定key设置有效期expire key seconds (秒)pexpire key millliseconds (毫秒)下面这两个是使用时间戳expir...原创 2020-04-16 23:34:03 · 128 阅读 · 0 评论 -
Redis五种数据类型
概念:Redis是用C语言开发的一个开源的高性能键值对(key-value)的非关系型数据库特征:1.数据间没有必然的关联关系2.内部采用单线程机制进行工作3.高性能4.多数据类型支持_______________________________________________________数据类型学习笔记:string 字符串存储的数据:单个数据,最简单的数据存储类型,...原创 2020-04-16 21:51:27 · 185 阅读 · 0 评论 -
springboot2.x版本下的redis注意
以前一直使用的springboot1.x版本的,项目升级后修改为2.x版本,redis就报错了首先是pom依赖需要修改<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-...原创 2020-04-16 13:37:44 · 185 阅读 · 0 评论