如果不知道这4种缓存模式,敢说懂缓存吗?

概述在系统架构中,缓存可谓提供系统性能的最简单方法之一,稍微有点开发经验的同学必然会与缓存打过交道,最起码也实践过。 如果使用得当,缓存可以减少响应时间、减少数据库负载以及节省成本。但如果缓存使用不当,则可能出现一些莫名其妙的问题。 在不同的场景下,所使用的缓存策略也是有变化的。如果在你的印象和经验中,缓存还只是简单的查询、更新操作,那么这篇文章真的值得你学习一下。 在这里,为...

redis-sentinel简单看分布式高可用和一致性的取舍

redis-sentinel Redis Sentinel 是一个分布式系统,为Redis提供高可用性解决方案。可以理解哨兵机制就是在复制基础上的一套监管系统,能及时的进行故障转移。 流言协议 (gossip protocols)sentinel集群判断master是否下线是使用流言协议。 每个Sentinel进程会以每秒一次的频率向已知的主服务器、从服务器以及其他的Sen...

浅谈Redis(二)——集群版

前言之前简单分享了一下单机版Redis。包括: 为什么用 Redis 以及为什么不用 RedisRedis 为什么这么快Redis 的数据结构Redis 单线程吞吐量高的原因 单机版 Redis 响应快、支持的并发量高,如果有持久化的内存,甚至还能做到数据不丢失。那我们可以直接使用单机版 Redis 作为数据库吗? 假设我们使用单机版 Redis 作为存储介质。Redis 一...

Redis 高可用原理

大家好,我是楼仔! Redis 的高可用,太重要啦!之前找工作面试,这个问题面试的频率都能排到前几,尤其是一些大厂,先不要着急看文章,如果面试官给你抛这么个问题,你会怎么回答呢,可以先想 5 分钟。 这里要等待 5 分钟 … 其实我也可以偷个懒,完全转载其它博客,但是没有找到我想要的,为了不辜负广大粉丝,楼哥还是单独给大家写一篇,主要根据这块知识,再结合之前的一些面试情况,给大...

你真的了解Redis的持久化机制吗?

我正在参与掘金技术社区创作者签约计划招募活动,点击链接报名投稿。 经过小编的一番询问才知道,原来是他们生产Redis今天莫名其妙的挂了,而且因为是新项目,一会要给领导演示用,生产环境Redis就只部署了一个节点,这一挂不要紧,缓存进去的数据怎么办… 恰巧这个时候,小编听见老板办公室里传出了一声大喊,“胖虎,来给我演示一下项目”,五分钟后,满脸通红的胖虎从老板办公室里出来了。 ...

Redis docker 主从模式与哨兵sentinel

更多技术记录,请参考软件开发 | 编程 | RustFisher 为实现redis的高可用,我们采用主从模式加哨兵的方法。 一主二从三哨兵,共启动6个redis容器。本文示例在同一个服务器上进行操作。 开发环境 centos 假设ip地址为 x.x.x.1 docker 1.13.1 redis 7.0.2 系统为centos cat /proc/version Linu...

Redis - ziplist 压缩列表

前言相信对使用过 Redis 的人来说,数据类型 List 是不会陌生的吧。大多数人需要实现一个队列时候,首选的就是 List 了。但是其实 Redis 的 List 类型有多种实现方式。这篇文章就是介绍其中一种实现 ziplist - 压缩列表。 源码解读一如既往,关于 ziplist 的定义和实现还是放在一对文件中,分别是 ziplist.h 和 ziplist.c。在 z...

Redis布隆过滤器和布谷鸟过滤器

一、过滤器使用场景:比如有如下几个需求:1、原本有10亿个号码,现在又来了10万个号码,要快速准确判断这10万个号码是否在10亿个号码库中?  解决办法一:将10亿个号码存入数据库中,进行数据库查询,准确性有了,但是速度会比较慢。  解决办法二:将10亿号码放入内存中,比如Redis缓存中,这里我们算一下占用内存大小:10亿*8字节=8GB,通过内存查询,准确性和速度都有了,但...

Msyql、Redis、MongoDB可视化监控工具Grafana

基于docker安装mysql、redis的可视化监控工具 一、安装Grafana下载Grafana的Docker镜像 [root@localhost ~]# docker pull grafana/grafana启动容器 [root@localhost docker]# docker run -p 3000:3000 --name grafana -d grafana/gra...