redis学习

邻近年底,决定辞职,自认为即使没有找到很满意的工作,也应该不会差。事实是有点自信回头,虽然找到了工作,但途中也受到了打击,不得不承认学习的激情不知何时,渐渐熄灭。直到认识一个女生,她让我对未来充满着信心。曾今何时,也在这写过一些技术笔记,如今已烟消云散,昨日已去,来日可期。后面我将吧自己日常积累的技术知识,记录在这里,利人利己。废话到此为止,下面总结一下面试遇到的几个问题。

redis穿透与雪崩?

   1. 穿透:        理解:当redis作用于数据缓存的时候,缓存的数据来源于db,而当由于key在redis中未获取到value时,则逻辑代码会从数据库中获取value,这种现象叫做缓存穿透。             若存在大量key穿过缓存,从db获取value,则会导致数据库压力剧增,甚至瘫痪。        方案: a.当出现大量无效key时,会从数据库获取value,使用分布式互斥锁对load db进行控制。              b.对请求进行验证,判断是否是有效的key,比如布隆过滤器。              c.无论key是否取到值,直接返回null。对不太稳定的缓存设置过期时间,如果缓存过期,异步起一个线程从db中获取数据。        比较:待补充    2。雪崩:        理解:redis key 大面积过期               

redis 集群搭建总结(具体搭建步骤,网上很多不细述:https://my.oschina.net/lyyjason/blog/1842002--cluster搭建地址)

    ##redis主从复制与哨兵模式搭配使用:前者提供高可用,后者提供master选举    ##redis-cluster =主从复制+哨兵模式+高并发+可扩展。    1.下载redis    2.安装gcc  执行make命令安装redis    主从复制:           启动多个redis  ,slaveof ip port 设置master ,info replication 查看redis主从信息           注意项:1.当master存在密码是 slave 必须配置文件masterauth设置主机的密码,或者使用config set masterauth手动设置密码,不然即使slaveof执                                        行成功,master-link-status 显示为down,设置完masterauth密码后则显示up。                  2.当主从复制,master宕机,必须手动切换slave为master不然从机不会进行master选举,从机master-link-status变成down,会一直等待master启动,master-link-                                status恢复成up                  3.master 默认可写可读,slave 默认只读,可以修改slave-read-only  yes:只读 no:读写    哨兵模式:master宕机自动选举master            注意项:master宕机重启后 会作为slave自动同步到选举后的master上 ,大件事 master和slave密码要保持一致,不然选举后将slave切换成maseter会因此失败。    cluster集群:密码也需要保持一致,而且需要修改/usr/local/share/gems/gems/redis-3.3.3/lib/redis/client.rb                             (https://img2018.cnblogs.com/blog/1909126/201912/1909126-20191229210642240-329425897.png)修改成正确的密码即可            cluster:每个key通过CRC16(key)%16384来决定放置哪个槽,共有16384个槽被分配到不同的master中(slave中是没有分配曹的),从而将key放入对应的master中,当master                     宕机,其slave会升级成为master,并将原master的曹与数据转移到新的master上。            扩容:就是添加新的master-slave  让后将其他master的槽分摊给新家的master即可,槽中的数据也会随之转移。            缩容:相反。            命令:  查看集群节点                    cluster nodes                    查看key对应的slot                    cluster keyslot key                    查看slot和节点的对应关系                    cluster slots

redis实现分布式锁,放值重复请求,分布式id等待续。

(0)

相关推荐

  • Redis:从应用到底层,一文帮你搞定

    总感觉哪里不对,但是又说不上来 1.基本类型及底层实现 1.1.String 用途: 适用于简单key-value存储.setnx key value实现分布式锁.计数器(原子性).分布式全局唯一ID ...

  • 颠覆认知——Redis会遇到的15个「坑」,你踩过几个?

    阅读本文大约需要 20 分钟. 大家好,我是 Kaito. 这篇文章,我想和你聊一聊在使用 Redis 时,可能会踩到的「坑」. 如果你在使用 Redis 时,也遇到过以下这些「诡异」的场景,那很大概 ...

  • Redis主从复制、哨兵模式、集群

    一.Redis主从复制 1.Redis主从复制的概念 主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器. 前者称为主节点(Master),后者称为从节点(Slave): 数据的 ...

  • Redis集群模式

    Redis集群模式

  • [Redis] 万字长文带你总结Redis,助你面试升级打怪

    文章目录 Redis的介绍.优缺点.使用场景 Linux中的安装 常用命令 Redis各个数据类型及其使用场景 Redis字符串(String) Redis哈希(Hash) Redis列表(List) ...

  • 全栈必备 Redis基础

    在<老码农眼中的简明AI>一文中提到了图灵机和冯诺伊曼的计算机体系结构,数据存储是整个计算机软件系统中的一个关键节点.从个人电脑上的软件到基于计算机网络的分布式系统,存储系统更是基础环节, ...

  • Redis学习二(数据操作).

    key 操作 删除 key:del key 批量删除key:redis-cli -a(密码)keys "QXJ_*"| xargs redis-cli -a(密码)del 查看所有 ...

  • Redis学习笔记:Redis简介

    一.NoSQL和关系型数据库区别 NoSQL非关系型数据库:Redis.MongoDB.HBase等,基于Key-Value存储,采用命令操作. 关系型数据库:Oracle.MySQL.DB2.SQL ...

  • 学习下Redis这个核心数据类型

    string 字符串 tring 类型是二进制安全的,即 string 中可以包含任何数据. Redis 中的普通 string 采用 raw encoding 即原始编码方式,该编码方式会动态扩容, ...

  • Redis和MongoDB哪个好?Python学习教程!

    Redis和MongoDB都是NOSQL数据库,采用结构型数据存储,在学习Python的过程中,我们也会接触到这方面的知识,那么你知道Redis和MongoDB各具有怎样的优劣势吗?我们一起来了解一下 ...

  • 一步一步学习Redis——HyperLogLog的相关命令

    一步一步学习Redis——HyperLogLog的相关命令

  • Redis集群方案怎么做?Python学习教程

    Redis集群方案该怎么做?都有哪些方案?Redis回收进程是如何工作的?这是面试找工作期间最常见的问题,接下来我们一起来看看吧. Redis集群方案该怎么做?具体分为三种: 1. codis:目前用 ...

  • 高强度学习训练第六天总结:Redis主从关系总结

    Redis主从复制机制 1.读写分离的好处 性能优化:主服务器专注于写操作,可以更适合写入数据的模式工作:同样,从服务器专注于读操作,可以用更适合读取数据的模式工作. 强化数据安全,避免单点故障:由于 ...

  • 学习之Redis(一)

    一.redis简介 一般学习,最好先去官网,之所以建议看官网,是因为这是一手的学习资料,其他资料都最多只能算二手,一手资料意味着最权威,准确性最高.https://redis.io/topics/in ...

  • S50学习资料讲解

    S50学习资料讲解