Redis

Redis is empty after startup, altough there is an .rdb file

℡╲_俬逩灬. 提交于 2020-12-31 05:37:37
问题 After I ran "shutdown save" in my redis-cli, waited for the "save" command to finish (followed the redis log) and backed up my redis .rdb file, I tried starting the redis server from the begining and it was started with an empty DB (dbsize =0!!!). What can I do ? How can I restore my redis from the .rdb file? 回答1: I'd recommend checking the following things: In your configuration file, check to see that the dir and dbfilename properties reflect the disk location and filename at which you

Redis is empty after startup, altough there is an .rdb file

你离开我真会死。 提交于 2020-12-31 05:30:22
问题 After I ran "shutdown save" in my redis-cli, waited for the "save" command to finish (followed the redis log) and backed up my redis .rdb file, I tried starting the redis server from the begining and it was started with an empty DB (dbsize =0!!!). What can I do ? How can I restore my redis from the .rdb file? 回答1: I'd recommend checking the following things: In your configuration file, check to see that the dir and dbfilename properties reflect the disk location and filename at which you

Redis is empty after startup, altough there is an .rdb file

夙愿已清 提交于 2020-12-31 05:25:51
问题 After I ran "shutdown save" in my redis-cli, waited for the "save" command to finish (followed the redis log) and backed up my redis .rdb file, I tried starting the redis server from the begining and it was started with an empty DB (dbsize =0!!!). What can I do ? How can I restore my redis from the .rdb file? 回答1: I'd recommend checking the following things: In your configuration file, check to see that the dir and dbfilename properties reflect the disk location and filename at which you

Redis is empty after startup, altough there is an .rdb file

混江龙づ霸主 提交于 2020-12-31 05:25:33
问题 After I ran "shutdown save" in my redis-cli, waited for the "save" command to finish (followed the redis log) and backed up my redis .rdb file, I tried starting the redis server from the begining and it was started with an empty DB (dbsize =0!!!). What can I do ? How can I restore my redis from the .rdb file? 回答1: I'd recommend checking the following things: In your configuration file, check to see that the dir and dbfilename properties reflect the disk location and filename at which you

分布式系统架构,回顾2020年常见面试知识点梳理(每次面试都会问到其中某一块知识点)

ぐ巨炮叔叔 提交于 2020-12-31 01:17:23
分布式分为分布式缓存( Redis )、分布式锁(Redis 或 Zookeeper)、分布式服务(Dubbo 或 SpringCloud)、分布式服务协调(Zookeeper)、分布式消息队列(Kafka 、RabbitMq)、分布式 Session 、分布式事务、分布式搜索(Elasticsearch)等。不可能所有分布式内容都熟悉,一定要在某个领域有所专长。 分布式理论 问: 分布式 有哪些理论? CAP 、BASE。分布式 CAP 理论,任何一个分布式系统都无法同时满足 Consistency(一致性)、Availability(可用性)、Partition tolerance(分区容错性) 这三个基本需求。最多只能满足其中两项。而 Partition tolerance(分区容错性) 是必须的,因此一般是 CP ,或者 AP。 问:你怎么理解分布式一致性? 数据一致性通常指关联数据之间的逻辑关系是否正确和完整。在分布式系统中,数据一致性往往指的是由于数据的复制,不同数据节点中的数据内容是否完整并且相同。 一致性还分为强一致性,弱一致性,还有最终一致性。强一致性就是马上就保持一致。 最终一致性是指经过一段时间后,可以保持一致。 分布式事务 问:你怎么理解分布式事务?分布式事务的协议有哪些? 分布式事务是指会涉及到操作多个数据库的事务。目的是为了保证分布式系统中的数据一致性

总结一波 Redis 面试题,收藏起来!

半世苍凉 提交于 2020-12-30 23:37:07
本文的面试题如下: Redis 持久化机制 缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题 热点数据和冷数据是什么 Memcache与Redis的区别都有哪些? 单线程的redis为什么这么快 redis的数据类型,以及每种数据类型的使用场景,Redis 内部结构 redis的过期策略以及内存淘汰机制【~】 Redis 为什么是单线程的,优点 如何解决redis的并发竞争key问题 Redis 集群方案应该怎么做?都有哪些方案? 有没有尝试进行多机redis 的部署?如何保证数据一致的? 对于大量的请求怎么样处理 Redis 常见性能问题和解决方案? 讲解下Redis线程模型 为什么Redis的操作是原子性的,怎么保证原子性的? Redis事务 Redis实现分布式锁 Redis 持久化机制 Redis是一个支持持久化的内存数据库,通过持久化机制把内存中的数据同步到硬盘文件来保证数据持久化。当Redis重启后通过把硬盘文件重新加载到内存,就能达到恢复数据的目的。 实现:单独创建fork()一个子进程,将当前父进程的数据库数据复制到子进程的内存中,然后由子进程写入到临时文件中,持久化的过程结束了,再用这个临时文件替换上次的快照文件,然后子进程退出,内存释放。 RDB是Redis默认的持久化方式。按照一定的时间周期策略把内存的数据以快照的形式保存到硬盘的二进制文件

Redis热点:如何发现Key问题?附5种解决方案

北战南征 提交于 2020-12-30 16:58:43
热点问题产生的原因大致有以下两种 : 1、用户消费的数据远大于生产的数据(热卖商品、热点新闻、热点评论、明星直播)。 在日常工作生活中一些突发的的事件,例如:双十一期间某些热门商品的降价促销,当这其中的某一件商品被数万次点击浏览或者购买时,会形成一个较大的需求量,这种情况下就会造成热点问题。同理,被大量刊发、浏览的热点新闻、热点评论、明星直播等,这些典型的读多写少的场景也会产生热点问题。 2、请求分片集中,超过单 Server 的性能极限。 在服务端读数据进行访问时,往往会对数据进行分片切分,此过程中会在某一主机 Server 上对相应的 Key 进行访问,当访问超过 Server 极限时,就会导致热点 Key 问题的产生。 热点问题的危害 1、流量集中,达到物理网卡上限。2、请求过多,缓存分片服务被打垮。3、DB 击穿,引起业务雪崩。 如前文讲到的,当某一热点 Key 的请求在某一主机上超过该主机网卡上限时,由于流量的过度集中,会导致服务器中其它服务无法进行。如果热点过于集中,热点 Key 的缓存过多,超过目前的缓存容量时,就会导致缓存分片服务被打垮现象的产生。当缓存服务崩溃后,此时再有请求产生,会缓存到后台 DB 上,由于DB 本身性能较弱,在面临大请求时很容易发生请求穿透现象,会进一步导致雪崩现象,严重影响设备的性能。 解决方案 通常的解决方案主要集中在对客户端和

prometheus+grafana实现监控过程的整体流程

岁酱吖の 提交于 2020-12-30 07:59:11
prometheus安装较为简单,下面会省略安装步骤: 一.服务器启动 Prometheus启动 ./prometheus --config.file=prometheus.yml Grafana启动 service grafana-server start 设置自启动 如需自启动某些服务,只需使用chkconfig 服务名 on即可,若想关闭,将on改为off ,如 chkconfig grafana-server on 二.访问服务器 1.Prometheus:部署ip:9090(默认端口号); 2.Grafana:部署ip:3000(默认端口号),访问Grafana服务器的时候会要求输入账号密码,这里使用默认账号密码,账号:admin,密码:admin 3.设置Grafana管理Prometheus 三.配置exporter(监控不同的对象需要不同的导出器) 下载exporter tar.gz并上传至服务器 解压 ./node_exproter 安装 curl 127.0.0.1:9100 验证,curl 127.0.0.1:9100/metrics,会返回一大推性能指标 在 prometheus 中的yml文件中,配置exporter导出器 四.问题 至此所有安装已完成,但是还存在以下问题,这些问题我们放在下面的配置,可视化段落处理。 Prometheus

Redis集群--Redis集群之哨兵模式

元气小坏坏 提交于 2020-12-30 04:33:05
echo编辑整理,欢迎转载,转载请声明文章来源。欢迎添加echo微信(微信号:t2421499075)交流学习。 百战不败,依不自称常胜,百败不颓,依能奋力前行。——这才是真正的堪称强大!!! 搭建Redis集群之前请准备好3台已经安装好Redis的服务器,CentOS7下安装Redis请阅读: https://blog.csdn.net/xlecho/article/details/102975520 为什么需要Redis集群 Redis 本身的 QPS 已经很高了,但是如果在一些并发量非常高的情况下,性能还是会受到影响。这个时候我们希望有更多的 Redis 服务来完成工作。 第二个是出于存储的考虑。因为Redis所有的数据都放在内存中,如果数据量大,很容易受到硬件的限制。升级硬件收效和成本比太低,所以我们需要有一种横向扩展的方法。 第三个是可用性和安全的问题。如果只有一个Redis服务,一旦服务宕机,那么所有的客户端都无法访问,会对业务造成很大的影响。另一个,如果硬件发生故障,而单机的数据无法恢复的话,带来的影响也是灾难性的。可用性、数据安全、性能都可以通过搭建多个 Reids 服务实现。其中有一个是主节点(master),可以有多个从节点(slave)。主从之间通过数据同步,存储完全相同的数据。如果主节点发生故障,则把某个从节点改成主节点,访问新的主节点。

每秒上千订单场景下的分布式锁高并发优化实践!

∥☆過路亽.° 提交于 2020-12-30 04:08:28
本文转载自 石杉的架构笔记 背景引入 首先,我们一起来看看这个问题的背景? 前段时间有个朋友在外面面试,然后有一天找我聊说:有一个国内不错的电商公司,面试官给他出了一个场景题: 假如下单时,用分布式锁来防止库存超卖,但是是每秒上千订单的高并发场景,如何对分布式锁进行高并发优化来应对这个场景? 他说他当时没答上来,因为没做过没什么思路。其实我当时听到这个面试题心里也觉得有点意思,因为如果是我来面试候选人的话,应该会给的范围更大一些。 比如,让面试的同学聊一聊电商高并发秒杀场景下的库存超卖解决方案,各种方案的优缺点以及实践,进而聊到分布式锁这个话题。 因为库存超卖问题是有很多种技术解决方案的,比如悲观锁,分布式锁,乐观锁,队列串行化,Redis原子操作,等等吧。 但是既然那个面试官兄弟限定死了用分布式锁来解决库存超卖,我估计就是想问一个点:在高并发场景下如何优化分布式锁的并发性能。 我觉得,面试官提问的角度还是可以接受的,因为在实际落地生产的时候,分布式锁这个东西保证了数据的准确性,但是他天然并发能力有点弱。 刚好我之前在自己项目的其他场景下,确实是做过高并发场景下的分布式锁优化方案,因此正好是借着这个朋友的面试题,把分布式锁的高并发优化思路,给大家来聊一聊。 库存超卖现象是怎么产生的? 先来看看如果不用分布式锁,所谓的电商库存超卖是啥意思?大家看看下面的图: 这个图,其实很清晰了