![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
redis
Coding Now
点点滴滴,皆是学问!
展开
-
redis学习笔记------主从复制
在Redis中,用户可以通过执行SLAVEOF命令或者设置slaveof选项,让一个服务器去复制(replicate)另一个服务器,我们称呼被复制的服务器为主服务器(master),而对主服务器进行复制的服务器则被称为从服务器(slave),如图所示。假设现在有两个Redis服务器,地址分别为127.0.0.1:6379和127.0.0.1:12345,如果我们向服务器127.0.0.1:...原创 2019-03-10 21:53:22 · 186 阅读 · 0 评论 -
Redis重点十:redis的并发竞争问题
redis的并发竞争问题是什么?如何解决这个问题?了解Redis事务的CAS方案吗?分析这个也是线上非常常见的一个问题,就是多客户端同时并发写一个key,可能本来应该先到的数据后到了,导致数据版本错了。或者是多客户端同时获取一个key,修改值之后再写回去,只要顺序错了,数据就错了。而且redis自己就有天然解决这个问题的CAS类的乐观锁方案...翻译 2019-05-29 16:11:40 · 186 阅读 · 0 评论 -
Redis重点九:缓存和数据库数据双写不一致问题
如何保证缓存与数据库的双写一致性?分析你只要用缓存,就可能会涉及到缓存与数据库双存储双写,你只要是双写,就一定会有数据一致性的问题,那么你如何解决一致性问题?一般来说,就是如果你的系统不是严格要求缓存+数据库必须一致性的话,缓存可以稍微的跟数据库偶尔有不一致的情况,最好不要做这个方案,读请求和写请求串行化,串到一个内存队列里去,这样就可以保证一定不会出现不一致的情况串行化之后...翻译 2019-05-29 16:07:02 · 792 阅读 · 0 评论 -
Redis重点八:缓存雪崩和缓存穿透的问题
了解什么是redis的雪崩和穿透?redis崩溃之后会怎么样?系统该如何应对这种情况?如何处理redis的穿透?分析:其实这是问到缓存必问的,因为缓存雪崩和穿透,那是缓存最大的两个问题,要么不出现,一旦出现就是致命性的问题。所以面试官一定会问你。剖析:缓存雪崩发生的现象缓存雪崩的事前事中事后的解决方案事前:redis高可用,主从+哨兵,redis cluster,...翻译 2019-05-29 11:43:58 · 158 阅读 · 0 评论 -
Redis重点七:redis cluster集群模式原理
redis集群模式的工作原理能说一下么?在集群模式下,redis的key是如何寻址的?分布式寻址都有哪些算法?了解一致性hash算法吗?分析:在以前,如果前几年的时候,一般来说,redis如果要搞几个节点,每个节点存储一部分的数据,得借助一些中间件来实现,比如说有codis,或者twemproxy,都有。有一些redis中间件,你读写redis中间件,redis中间件负责将你的...翻译 2019-05-28 13:07:08 · 736 阅读 · 0 评论 -
Redis重点五:怎么保证redis高并发以及高可用二
1、什么是99.99%高可用?架构上,高可用性,99.99%的高可用性讲的学术,99.99%,公式,系统可用的时间 / 系统故障的时间,365天,在365天 * 99.99%的时间内,你的系统都是可以哗哗对外提供服务的,那就是高可用性,99.99%系统可用的时间 / 总的时间 = 高可用性,然后会对各种时间的概念,说一大堆解释2、redis不可用是什么?单实例不可用?主从架构...翻译 2019-05-24 20:15:26 · 178 阅读 · 0 评论 -
Redis重点四:保证redis高并发以及高可用一
1、redis高并发跟整个系统的高并发之间的关系redis,你要搞高并发的话,不可避免,要把底层的缓存搞得很好mysql,高并发,做到了,那么也是通过一系列复杂的分库分表,订单系统,事务要求的,QPS到几万,比较高了要做一些电商的商品详情页,真正的超高并发,QPS上十万,甚至是百万,一秒钟百万的请求量光是redis是不够的,但是redis是整个大型的缓存架构中,支撑高并发的架构里...翻译 2019-05-23 22:51:41 · 199 阅读 · 0 评论 -
Redis重点三:过期策略和内存淘汰机制
redis的过期策略都有哪些?内存淘汰机制都有哪些?手写一下LRU代码实现?1)老师啊,我往redis里写的数据怎么没了?之前有同学问过我,说我们生产环境的redis怎么经常会丢掉一些数据?写进去了,过一会儿可能就没了。我的天,同学,你问这个问题就说明redis你就没用对啊。redis是缓存,你给当存储了是吧?啥叫缓存?用内存当缓存。内存是无限的吗,内存是很宝贵而且是有限的...翻译 2019-05-23 22:35:27 · 133 阅读 · 0 评论 -
Redis重点二:redis都有哪些数据类型?分别在哪些场景下使用比较合适?
redis都有哪些数据类型?分别在哪些场景下使用比较合适?除非是我感觉看你简历,就是工作3年以内的比较初级的一个同学,可能对技术没有很深入的研究过,我才会问这类问题,在宝贵的面试时间里,我实在是不想多问其实问这个问题呢。。。主要就俩原因第一,看看你到底有没有全面的了解redis有哪些功能,一般怎么来用,啥场景用什么,就怕你别就会最简单的kv操作第二,看看你在实际项目里都怎么玩儿过r...翻译 2019-05-23 22:26:52 · 162 阅读 · 0 评论 -
Redis重点一:redis线程模型,单线程为啥很快?
redis和memcached有什么区别?redis的线程模型是什么?为什么单线程的redis比多线程的memcached效率要高得多(为什么redis是单线程的但是还可以支撑高并发)?这个是问redis的时候,最基本的问题吧,redis最基本的一个内部原理和特点,就是redis实际上是个单线程工作模型,你要是这个都不知道,那后面玩儿redis的时候,出了问题岂不是什么都不知道?还有可能面...翻译 2019-05-23 22:20:35 · 653 阅读 · 0 评论 -
Redis重点六:怎么保证redis挂掉之后重启数据可以恢复?
redis的持久化有哪几种方式?不同的持久化机制都有什么优缺点?持久化机制具体底层是如何实现的?redis如果仅仅只是将数据缓存在内存里面,如果redis宕机了,再重启,内存里的数据就全部都弄丢了啊。。。。。。你必须得用redis的持久化机制,将数据写入内存的同时,异步的慢慢的将数据写入磁盘文件里,进行持久化如果redis宕机了,重启启动,自动从磁盘上加载之前持久化的一些数据,就可以...翻译 2019-05-24 20:23:24 · 18270 阅读 · 0 评论 -
Redis过期策略---实现原理
我们在使用redis时,一般会设置一个过期时间,当然也有不设置过期时间的,也就是永久不过期。当我们设置了过期时间,redis是如何判断是否过期,以及根据什么策略来进行删除的。1.redis设置过期时间:expire key time(以秒为单位)--这是最常用的方式setex(String key, int seconds, String value)--字符串独有...转载 2019-03-12 17:19:08 · 12686 阅读 · 2 评论 -
redis学习笔记------事务(transaction)
前言:Redis通过MULTI、EXEU、WATCH(乐观锁)等命令来实现事务(transaction)功能。事务提供了一种将多个命令请求打包,然后一次性、按顺序地执行多个命令的机制,并且在事务执行期间,服务器不会中断事务而改去执行其他客户端的命令请求,它会将事务中的所有命令都执行完毕,然后才去处理其他客户端的命令请求。事务首先以MUTLI命令开始,接着将多个命令放入事务中,最...原创 2019-03-12 13:26:30 · 464 阅读 · 0 评论 -
redis学习笔记----redis集群(Redis Cluster)
前言: Redis集群是Redis提供的分布式数据库方案,集群通过分片(sharding)来进行数据共享,并提供复制和故障转移功能。这里讲一下集群的节点、槽指派、命令执行、重新分片、转向、故障转移、消息等。1.节点 一个redis集群由多个节点(node)组成, CLUSTER MEET <ip> <port> 握手 ...原创 2019-03-12 00:03:45 · 299 阅读 · 0 评论 -
redis学习笔记----哨兵机制(Sentinel)
Redis哨兵模式-----Sentinel 哨兵 Sentinel(哨兵)是Redis 的高可用性解决方案:由一个或多个Sentinel 实例 组成的Sentinel 系统可以监视任意多个主服务器,以及这些主服务器属下的所有从服务器,并在被监视的主服务器进入下线状态时,自动将下线主服务器属下的某个从服务器升级为新的主服务器。Redis 的 Sentinel 系统用于管理多个 Redis ...原创 2019-03-11 13:49:04 · 420 阅读 · 0 评论 -
redis基础及持久化方式
为什么Redis能这么快100000+QPS(QPS即querypersecond,每秒内查询次数)➢完全基于内存,绝大部分请求是纯粹的内存操作,执行效率高➢数据结构简单,对数据操作也简单➢采用单线程,单线程也能处理高并发请求,想多核也可启动多实例➢使用多路I/O复用模型,非阻塞IORedis的数据类型 供用户使用的数据类型 ➢String ...原创 2019-02-23 22:01:18 · 178 阅读 · 0 评论 -
Redis面试必备
Redis有哪些数据结构?字符串String、字典Hash、列表List、集合Set、有序集合SortedSet。如果你是Redis中高级用户,还需要加上下面几种数据结构HyperLogLog、Geo、Pub/Sub。如果你说还玩过Redis Module,像BloomFilter,RedisSearch,Redis-ML,面试官得眼睛就开始发亮了。使用过Redis分布式锁么,它是...翻译 2019-08-26 20:02:32 · 200 阅读 · 0 评论