
Redis详解
Redis从入门到精通
程序员可乐、
一个有故事的程序员,持续更新技术教程
展开
-
Redis详解(十)------ 从零开始搭建集群
在上一篇博客我们介绍了------Redis哨兵(Sentinel)模式,哨兵模式主要是解决高可用问题,在master节点宕机时,slave节点能够自动切换成为master节点 本篇博客我们来介绍Redis的另外一种模式------集群模式. PS:我这里搭建演示的版本是redis-5.0.5,这个版本对于集群搭建会有很大的简化,比如最常用的redis-trib.rb脚本功能...原创 2020-05-29 09:02:00 · 251 阅读 · 0 评论 -
Redis详解(八)------ 主从复制
前面介绍Redis,我们都在一台服务器上进行操作的,也就是说读和写以及备份操作都是在一台Redis服务器上进行的,那么随着项目访问量的增加,对Redis服务器的操作也越加频繁,虽然Redis读写速度都很快,但是一定程度上也会造成一定的延时,那么为了解决访问量大的问题,通常会采取的一种方式是主从架构Master/Slave,Master 以写为主,Slave 以...原创 2018-06-10 09:51:00 · 259 阅读 · 0 评论 -
Redis详解(九)------ 哨兵(Sentinel)模式详解
在上一篇博客----Redis详解(八)------ 主从复制,我们简单介绍了Redis的主从架构,但是这种主从架构存在一个问题,当主服务器宕机,从服务器不能够自动切换成主服务器,为了解决这个问题,我们又介绍了哨兵模式,本篇博客我们继续深入的介绍一下这种模式.1、架构图 2、服务器列表 3、搭建主从模式 ①、主要配置项 主服务器(上图的Node1)配置文...原创 2020-05-28 09:01:00 · 15417 阅读 · 2 评论 -
Redis详解(三)------ redis的五大数据类型详细用法
我们说 Redis 相对于Memcache 等其他的缓存产品,有一个比较明显的优势就是 Redis 不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。本篇博客我们就将介绍这些数据类型的详细使用以及顺带介绍Redis系统的相关命令用法。 注意:Redis的命令不区分大小写,但是key 严...原创 2018-05-30 21:00:00 · 372 阅读 · 0 评论 -
Redis详解(十二)------ 缓存穿透、缓存击穿、缓存雪崩
本篇博客我们来介绍Redis使用过程中需要注意的三种问题:缓存穿透、缓存击穿、缓存雪崩。1、缓存穿透一、概念 缓存穿透:缓存和数据库中都没有的数据,可用户还是源源不断的发起请求,导致每次请求都会到数据库,从而压垮数据库。 如下图红色的流程: 比如客户查询一个根本不存在的东西,首先从Redis中查不到,然后会去数据库中查询,数据库中也查询不到,那么就不会将数...原创 2020-06-02 08:58:00 · 414 阅读 · 0 评论 -
Redis详解(十三)------ Redis布隆过滤器
本篇博客我们主要介绍如何用Redis实现布隆过滤器,但是在介绍布隆过滤器之前,我们首先介绍一下,为啥要使用布隆过滤器。1、布隆过滤器使用场景 比如有如下几个需求: ①、原本有10亿个号码,现在又来了10万个号码,要快速准确判断这10万个号码是否在10亿个号码库中? 解决办法一:将10亿个号码存入数据库中,进行数据库查询,准确性有了,但是速度会比较慢。 解决办法二:将...原创 2020-06-03 09:03:00 · 639 阅读 · 0 评论 -
Redis详解(一)------ redis的简介与安装
工作中一直在用 Redis,但是一直没有进行系统的总结,这个系列的博客将整体的介绍 Redis 的用法。1、Redis 的简介 Redis:REmote DIctionary Server(远程字典服务)。 是由意大利人Salvatore Sanfilippo(网名:antirez)开发的一款内存高速缓存数据库。是完全开源免费的,用C语言编写的,遵守BSD协议,高性能...原创 2018-05-25 09:18:00 · 560 阅读 · 6 评论 -
Redis详解(四)------ redis的底层数据结构
上一篇博客我们介绍了redis的五大数据类型详细用法,但是在 Redis 中,这几种数据类型底层是由什么数据结构构造的呢?本篇博客我们就来详细介绍Redis中五大数据类型的底层实现。 1、演示数据类型的实现 上篇博客我们在介绍 key 相关命令的时候,介绍了如下命令: OBJECT ENCODING key...原创 2018-06-01 09:40:00 · 467 阅读 · 0 评论 -
Redis详解(三)------ redis的六大数据类型详细用法
我们说 Redis 相对于Memcache 等其他的缓存产品,有一个比较明显的优势就是 Redis 不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。本篇博客我们就将介绍这些数据类型的详细使用以及顺带介绍Redis系统的相关命令用法。 注意:Redis的命令不区分大小写,但是key 严格区分大小写!!!0、写在前面...原创 2018-05-30 21:00:00 · 202 阅读 · 0 评论 -
Redis详解(六)------ RDB 持久化
前面我们说过,Redis 相对于Memcache 等其他的缓存产品,有一个比较明显的优势就是 Redis 不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。这几种丰富的数据类型我们花了两篇文章进行了详细的介绍,接下来我们要介绍 Redis 的另外一大优势——持久化。 由于 Redis...原创 2018-06-07 23:29:00 · 316 阅读 · 0 评论 -
Redis详解(五)------ redis的五大数据类型实现原理
前面两篇博客,第一篇介绍了五大数据类型的基本用法,第二篇介绍了Redis底层的六种数据结构。在Redis中,并没有直接使用这些数据结构来实现键值对数据库,而是基于这些数据结构创建了一个对象系统,这些对象系统也就是前面说的五大数据类型,每一种数据类型都至少用到了一种数据结构。通过这五种不同类型的对象,Redis可以在执行命令之前,根据对象的类型判断一个对象是否可...原创 2018-06-05 20:45:00 · 889 阅读 · 1 评论 -
Redis详解(七)------ AOF 持久化
上一篇文章我们介绍了Redis的RDB持久化,RDB 持久化存在一个缺点是一定时间内做一次备份,如果redis意外down掉的话,就会丢失最后一次快照后的所有修改(数据有丢失)。对于数据完整性要求很严格的需求,怎么解决呢? 本篇博客接着来介绍Redis的另一种持久化方式——AOF。1、AOF简介 Redis的持久化方式之一RDB是通过保存数据库中的键值对来记录数据库的...原创 2018-06-09 10:25:00 · 577 阅读 · 0 评论 -
Redis详解(十)------ 集群模式详解
在上一篇博客我们介绍了------Redis哨兵(Sentinel)模式,哨兵模式主要是解决高可用问题,在master节点宕机时,slave节点能够自动切换成为master节点 本篇博客我们来介绍Redis的另外一种模式------集群模式. PS:我这里搭建演示的版本是redis-5.0.5,这个版本对于集群搭建会有很大的简化,比如最常用的redis-trib.rb脚本功能...原创 2020-05-29 09:02:00 · 201 阅读 · 0 评论 -
Redis详解(十一)------ 过期删除策略和内存淘汰策略
在介绍这篇文章之前,我们先来看如下几个问题: ①、如何设置Redis键的过期时间? ②、设置完一个键的过期时间后,到了这个时间,这个键还能获取到么?假如获取不到那这个键还占据着内存吗? ③、如何设置Redis的内存大小?当内存满了之后,Redis有哪些内存淘汰策略?我们又该如何选择? 如果上面的几个问题你都懂,那么下面的内容你就不用看了;如果你不是很懂,那就带着这些问...原创 2020-06-01 09:06:00 · 673 阅读 · 0 评论 -
Redis详解(二)------ redis的配置文件介绍
上一篇博客我们介绍了如何安装Redis,在Redis的解压目录下有个很重要的配置文件 redis.conf(/opt/redis-4.0.9目录下),关于Redis的很多功能的配置都在此文件中完成的,在上一讲我也说过,一般为了不破坏安装的文件,出厂默认配置最好不要去改,所以我们将此配置文件复制到 /etc/redis/目录下了。 通过 vim /etc/redis/redis...原创 2018-05-27 10:05:00 · 1119 阅读 · 0 评论