![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
redis你不知道的那些事
文章平均质量分 83
stackfuture
这个作者很懒,什么都没留下…
展开
-
RedisJson特性让我放弃了MongoDB,也让我放弃了Hash,我就问你们香不香?
说说RedisJson 重磅特性[公众号:堆栈future]干货:redis支持json文档存储了,你可以放弃mongodb了?1. mongodb介绍MongoDB是一个基于分布式文件存储的数据库。由C++语言编写,旨在为WEB应用提供可扩展的高性能数据NoSQL存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。MongoDB将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB文档类似于JSON对象原创 2021-12-29 12:14:14 · 811 阅读 · 0 评论 -
面试官:聊聊Redis有哪些特性,不要慌,把你知道的都告诉他
说说Redis有哪些特性[公众号:堆栈future]1. Redis简介Redis是一款基于ANSI C语言编写的,BSD许可的key-value存储组件,它的所有数据结构都存在内存中,可以用作缓存、数据库和消息中间件。Redis是Remote dictionary server的缩写,即远程字典服务,一个Redis实例可以有多个存储数据的字典,客户端可以通过select来选择字典即DB进行数据存储。也就是我们常见的16个DB,每个DB是一个数据字典。2. Redis 特性一图胜千言。同为K-V存储组件,M原创 2021-12-28 10:55:45 · 701 阅读 · 0 评论 -
Redis实例发生故障,而Redis使用RDB机制,事务的原子性能否得到保证?
Redis实例发生故障,而Redis使用的RDB机制,事务的原子性还能否得到保证?干货:[公众号:堆栈future]Redis事务Redis原子性保证当Redis采用RDB机制保证数据可靠性时,Redis会按照一定的周期执行内存快照。一个事务在执行过程中,事务操作对数据所做的修改并不会实时地记录到RDB中,而且,Redis也不会创建RDB快照。我们可以根据故障发生的时机以及RDB是否生成,分成三种情况来讨论事务的原子性保证。假设事务在执行到一半时,实例发生了故障,在这种情况下,上一次RDB快照中不会包含事务原创 2021-12-26 10:25:22 · 431 阅读 · 0 评论 -
Redis del bigkey即使开启了lazyfree,为什么还是阻塞的,但是别人又不阻塞?why
Redis del bigkey之后为啥还是阻塞的呢?明明开启了lazyfree,为啥别人立马可以删除?干货:[公众号:堆栈future]lazyfree redis 4.0引入lazyfree-lazy-user-del 6.0引入为什么del删除bigkey是阻塞的lazy-free是4.0新增的功能,但是默认是关闭的,需要手动开启。你开启之后,然后用del删除一个几万的key,发现命令阻塞在那里了,你很郁闷,我都开启了,为撒还阻塞呢?莫非在逗我?先说答案:你用错了命令,在你开启lazyfree之后,你原创 2021-12-25 08:34:32 · 665 阅读 · 0 评论 -
Redis Cluster通过hash slot映射数据,但是如何把两个key映射到同一个slot中呢?
Redis Cluster Hash Slot和Hash Tag介绍干货:[公众号:堆栈future]Redis Cluster介绍Redis Cluster Hash Slot原理Redis Cluster Hash Tag原理Redis Cluster集群介绍你可以这么理解,就是切片集群或者分片集群,用来存储大量数据的。为什么redis要使用它呢?redis的Master-Slave集群不行吗?这个也可以很简单的理解,因为后者是主备存储,前者是集群存储。主备存储目的就是两个,一个就是防止主从任意一个节点原创 2021-12-24 12:29:14 · 1918 阅读 · 0 评论 -
AOF有哪些潜在的阻塞点
AOF有哪些潜在的阻塞点1. Redis采用fork子进程重写AOF文件时,有潜在的阻塞风险1. fork子进程fork子进程,fork这个瞬间一定是会阻塞主线程的(注意,fork时并不会一次性拷贝所有内存数据给子进程),fork采用操作系统提供的写实复制(Copy On Write)机制,就是为了避免一次性拷贝大量内存数据给子进程造成的长时间阻塞问题。但fork子进程需要拷贝进程必要的数据结构,其中有一项就是拷贝内存页表(虚拟内存和物理内存的映射索引表),这个拷贝过程会消耗大量CPU资源,拷贝完成之前整个原创 2021-12-23 10:06:39 · 400 阅读 · 0 评论 -
Redis单线程处理IO请求性能瓶颈有哪些
Redis单线程处理IO请求性能瓶颈1. 请求在server中延迟较久1. 操作bigkey写入一个bigkey在分配内存时需要消耗更多的时间,同样,删除bigkey释放内存同样会产生耗时;2. 使用复杂度过高的命令例如SORT/SUNION/ZUNIONSTORE,或者O(N)命令,但是N很大,例如lrange key 0 -1一次查询全量数据;3. 大量key集中过期Redis的过期机制也是在主线程中执行的,大量key集中过期会导致处理一个请求时,耗时都在删除过期key,耗时变长;4..原创 2021-12-22 09:54:27 · 153 阅读 · 1 评论