Redis
Redis最详细的介绍以及面试题.
阿凡博客
程序员不是喜欢996的加班,而是喜欢996的工资
展开
-
Redis的87道高质量面试题
(1)请回答一下:复制,哨兵,集群的优缺点?(1)复制:复制是高可用Redis的基础,哨兵和集群都是在复制基础上实现高可用的。复制主要实现了数据的多机备份,以及对于读操作的负载均衡和简单的故障恢复。缺陷是故障恢复无法自动化;写操作无法负载均衡;存储能力受到单机的限制。(2)哨兵:在复制的基础上,哨兵实现了自动化的故障恢复。缺陷是写操作无法负载均衡;存储能力受到单机的限制。在主从复制的基础上,...原创 2020-02-27 20:54:56 · 8566 阅读 · 2 评论 -
史上最全Redis高可用技术解决方案大全
Redis常见的几种主要使用方式:Redis 单副本Redis 多副本(主从)Redis Sentinel(哨兵)Redis ClusterRedis 自研Redis各种使用方式的优缺点:1Redis单副本Redis 单副本,采用单个Redis节点部署架构,没有备用节点实时同步数据,不提供数据持久化和备份策略,适用于数据可靠性要求不高的纯缓存业务场景。优点:1、架构简单、...转载 2020-02-22 23:02:30 · 335 阅读 · 0 评论 -
Redis面试的17个高水平问题
一、为什么使用Redis笔者认为,在项目中使用Redis,主要是从两个角度去考虑:性能和并发。当然,Redis还具备可做分布式锁等功能的其它功能,但如果只是为了分布式锁这些其它功能,完全还有其它中间件(如Zookpeer等)可以代替,并不是非要使用Redis。因此,这个问题主要从性能和并发两个角度去答:1、性能如下图所示,我们在碰到需要执行耗时特别久、且结果不频繁变动的SQL时,就特别适合...原创 2020-02-22 17:14:23 · 477 阅读 · 0 评论 -
Redis解决“树”形数据的复杂查询
最近因业务需要,研究了一下树数据结果的存储及查询解决方案。 最初的想法是使用neo4j,可是在网上看了一下开源的不支持集群,感觉用的人不多。网上也查了一些 树形结构数据存储方案 但每种实现方案都有它的一定局限性。想了一短时间后,想出了下面的方案:一、 因为复杂的查询都由Redis来处理,所以数据库表的设计就变得非常简单:tree 表二、Redis的数据存储方案:把表的数据存储到一个Ha...转载 2020-02-22 16:13:17 · 1987 阅读 · 0 评论 -
Redis开发设计规范及案例分析
引言redis不是垃圾桶也不是 SUPER MAN,能力和资源都有限,不合理的使用会降低它的健康度,严重时甚至会引起redis抖动、阻塞等进而导致服务不可用,每一个使用redis的开发人员都应当掌握规范的开发和使用方法。本文整理出redis开发过程中七个较常出现的使用不合理的场景,并辅以案例进行分析说明。01合理使用集合类案例某活动需求,每天10点对昨天参加某活动的用户进行推送提醒。开发人...转载 2020-02-22 16:03:04 · 160 阅读 · 0 评论 -
Redis缓存数据库安全
一、合法监听接口01端口使用非默认端口安全问题:Redis Server监听的端口默认为6379,容易被扫描攻击。解决方案:修改为非默认端口,并在端口矩阵中说明。02监听地址不允许包括*安全问题:Redis支持监听0.0.0.0。解决方案:因为如果有多网卡,应该将监听地址设置为只有数据库客户端需要连接的网卡地址。如果只允许本机访问,应该只监听127.0.0.1。03隐蔽的RedisC...转载 2020-02-22 15:31:34 · 582 阅读 · 0 评论 -
Redis高可用详解:持久化技术及方案选择
一、Redis高可用概述在介绍Redis高可用之前,首先要说明一下在Redis的语境中高可用的含义。我们知道,在Web服务器中,高可用是指服务器可以正常访问的时间,衡量的标准是在多长时间内可以提供正常服务(99.9%、99.99%、99.999%等等)。但是在Redis语境中,高可用的含义似乎要宽泛一些,除了保证提供正常服务(如主从分离、快速容灾技术等),还需要考虑数据容量的扩展、数据安全不会...转载 2020-02-22 13:16:58 · 321 阅读 · 1 评论 -
Redis之多级缓存设计详解
为什么要设计缓存呢?其实高并发应对的解决方案不是互联网独创的,计算机先祖们很早就对类似的场景做了方案。比如《计算机组成原理》这样提到的cpu缓存概念,它是一种高速缓存,容量比内存小但是速度却快很多,这种缓存的出现主要是为了解决cpu运算速度远大于内存读写速度,甚至达到千万倍。传统的cpu通过fsb直连内存的方式显然就会因为内存访问的等待,导致cpu吞吐量下降,内存成为性能瓶颈。同时又由于内存访...转载 2020-02-22 12:55:48 · 7982 阅读 · 0 评论 -
Redis实现分布式锁
场景介绍很多互联网场景(如商品秒杀,论坛回帖盖楼等),需要用加锁的方式,以对某种资源进行顺序访问控制。如果应用服务集群部署,则涉及到对分布式应用加锁。当前分布式加锁主要有三种方式:(磁盘)数据库、缓存数据库、Zookeeper。接下里让我们一起看看加锁实践过程。加锁实现/** * @author ZF * @Description TODO * @Date 2020/2/22 12:2...原创 2020-02-22 12:38:27 · 183 阅读 · 0 评论 -
Redis哨兵技术详解:实现故障恢复自动化
一、作用和架构1.作用在介绍哨兵之前,首先从宏观角度回顾一下Redis实现高可用相关的技术。它们包括:持久化、复制、哨兵和集群,其主要作用和解决的问题是:持久化:持久化是最简单的高可用方法(有时甚至不被归为高可用的手段),主要作用是数据备份,即将数据存储在硬盘,保证数据不会因进程退出而丢失。复制:复制是高可用Redis的基础,哨兵和集群都是在复制基础上实现高可用的。复制主要实现了数据的多...转载 2020-02-22 00:04:23 · 349 阅读 · 0 评论 -
Redis详解&应用场景&面试题
Redis是什么Redis是一个开源的底层使用C语言编写的key-value存储数据库。可用于缓存、事件发布订阅、高速队列等场景。而且支持丰富的数据类型:string(字符串)、hash(哈希)、list(列表)、set(无序集合)、zset(sorted set:有序集合)Redis在项目中的应用场景1、缓存数据最常用,对经常需要查询且变动不是很频繁的数据 常称作热点数据。2、消息队列...转载 2020-02-21 23:40:01 · 1043 阅读 · 0 评论 -
MongoDB、Hbase、Redis等NoSQL优劣势、应用场景
NoSQL的四大种类NoSQL数据库在整个数据库领域的江湖地位已经不言而喻。在大数据时代,虽然RDBMS很优秀,但是面对快速增长的数据规模和日渐复杂的数据模型,RDBMS渐渐力不从心,无法应对很多数据库处理任务,这时NoSQL凭借易扩展、大数据量和高性能以及灵活的数据模型成功的在数据库领域站稳了脚跟。目前大家基本认同将NoSQL数据库分为四大类:键值存储数据库,文档型数据库,列存储数据库和图形...转载 2020-02-21 23:27:38 · 208 阅读 · 0 评论 -
Ubuntu安装RedisBloom以及四大过滤器的使用
1.下载与解压:1.wget https://github.com/RedisLabsModules/rebloom/archive/v1.1.1.tar.gz2.解压:tar -zxvf v1.1.1.tar.gz2.插件编译:cd RedisBloom-1.1.1makels或者查看文件夹可以看到3.Redis引入该模块1.在redis.conf配置文件里加入如下引入配置...原创 2019-12-15 22:53:23 · 385 阅读 · 0 评论 -
史上(目前)最详细的Redis面试题含(最详细的答案)
Redis是什么面试官:你先来说下redis是什么吧我:(这不就是总结下redis的定义和特点嘛)Redis是C语言开发的一个开源的(遵从BSD协议)高性能键值对(key-value)的内存数据库,可以用作数据库、缓存、消息中间件等。它是一种NoSQL(not-only sql,泛指非关系型数据库)的数据库。我顿了一下,接着说:Redis作为一个内存数据库。性能优秀,数据在内存中,读写速...转载 2019-12-23 11:55:13 · 1573 阅读 · 1 评论 -
Redis关于使用命令setrange:更新部分内容的超详细规律总结
2.使用命令进行验证setrang我总结了2种情况:第一种情况比较特殊(如下图):上图可以看出”中间的数字x,满足0<=x<=5”;至少满足最前面数字(5位)长度当x=0,可以理解为:取得的数字是从后面开始计算的;为了取得5位长度,所以加上了45,0的规律是最特殊;当x=1,可以理解:就取到前面数字的一个数字,就是1,加上后面的数字,所以最后是16785; 1的规律也特殊....原创 2019-12-07 22:32:57 · 1088 阅读 · 0 评论