
Redis
大虎牙
一物不知 深以为耻 便求知若渴
展开
-
学习笔记 | 面对海量数据,为什么无法设计出完美的分布式缓存体系?
随着互联网的发展,分布式系统变得越来越重要,当前的大中型互联网系统几乎都向着分布式方向发展。分布式系统简单说就是一个软硬件分布在不同机房、不同区域的网络计算机上,彼此之间仅仅通过消息传递进行通信及协调的系统。分布式系统需要利用分布的服务,在确保数据一致的基础上,对外提供稳定的服务。CAP 定理的诞生在分布式系统的发展中,影响最大最广泛的莫过于 CAP 理论了,可以说 CAP 理论是分布式系统发展的理论基石。早在 1998 年,加州大学的计算机科学家 Eric Brewer ,就提出分布式系统的三个.原创 2020-09-15 17:28:53 · 451 阅读 · 0 评论 -
学习笔记 | 分布式锁
一、锁使用场景对公共区域数据并发访问,为防止数据脏读,脏写而使用锁。下面举例如下:从redis中取数据,做一定处理,再将处理后的数据压入,当多线程或多进程对同一个key对应的数据做处理时,就可能由于并发导最后的结果不是预期想要的。二、锁的使用流程锁的大体使用流程都是获取锁,做数据处理,然后释放锁,流程图如下:...原创 2020-09-15 16:04:30 · 189 阅读 · 0 评论 -
学习笔记 | 秒杀系统分析
秒杀系统分析互联网电商为了吸引人气,经常会对一些商品进行低价秒杀售卖活动。比如几年前小米的不定期新品发售,又如当前每年定期举行双11、双12中的特价商品售卖。秒杀售卖时,大量消费者蜂拥而至,给电商带来了极大的人气,也给电商背后的服务系统带来了超高的并发访问负荷。在不同电商、不同的秒杀活动,秒杀系统售卖的商品、销售策略大不相同,但秒杀背后的秒杀系统却有很大的相似性,基本都有以下这些共同特点。首先,秒杀业务简单,每个秒杀活动售卖的商品是事先定义好的,这些商品有明确的类型和数量,卖完即止。其次,秒杀活动原创 2020-09-14 15:30:38 · 446 阅读 · 0 评论 -
学习笔记 | 缓存的原理、引入和设计
01 缓存的定义缓存最初的含义,是指用于加速 CPU 数据交换的 RAM,即随机存取存储器,通常这种存储器使用更昂贵但快速的静态 RAM(SRAM)技术,用以对 DRAM进 行加速。这是一个狭义缓存的定义。而广义缓存的定义则更宽泛,任何可以用于数据高速交换的存储介质都是缓存,可以是硬件也可以是软件。缓存存在的意义就是通过开辟一个新的数据交换缓冲区,来解决原始数据获取代价太大的问题,让数据得到更快的访问。02 缓存的基本思想缓存构建的基本思想是利用时间局限性原理,通过空间换时间来达到加速..原创 2020-07-04 15:04:26 · 1119 阅读 · 1 评论 -
学习笔记 | 7大缓存经典问题
7大缓存经典问题01 缓存失效问题描述服务系统查数据,首先会查缓存,如果缓存数据不存在,就进一步查 DB,最后查到数据后回种到缓存并返回。缓存的性能比 DB 高 50~100 倍以上,所以我们希望数据查询尽可能命中缓存,这样系统负荷最小,性能最佳。缓存里的数据存储基本上都是以 key 为索引进行存储和获取的。业务访问时,如果大量的 key 同时过期,很多缓存数据访问都会 miss,进而穿透到 DB,DB 的压力就会明显上升,由于 DB 的性能较差,只在缓存的 1%~2% 以下,这样请求的慢查率会原创 2020-07-04 17:12:42 · 357 阅读 · 0 评论 -
学习笔记 | Redis 原理、协议和使用
● 请你回答一下mongodb和redis的区别内存管理机制上:Redis 数据全部存在内存,定期写入磁盘,当内存不够时,可以选择指定的 LRU 算法删除数据。MongoDB 数据存在内存,由 linux系统 mmap 实现,当内存不够时,只将热点数据放入内存,其他数据存在磁盘。支持的数据结构上:Redis 支持的数据结构丰富,包括hash、set、list等。MongoDB 数据结构比较单一,但是支持丰富的数据表达,索引,最类似关系型数据库,支持的查询语言非常丰富。● 请你来说一说Redis的原创 2020-06-28 12:01:34 · 159 阅读 · 0 评论 -
学习笔记 | Redis 分布式部署方案
Redis 分布式部署方案为什么要分布式Redis是一款开源的基于内存的K-V型数据库,因为内存访问速度快,一般被用来做系统的缓存。Redis作为单机部署能够支持业务简单,数据量不大的系统需求,但在实际应用中,一旦系统规模上来,单机的Redis就会遇到下面的挑战:伸缩性。系统随着长期运行与业务增长,对Redis存储的数据量需求也越来越大,单机必然受限于服务器的内存与磁盘大小。高性能。系统规模变大后,对Redis的吞吐量需求也会提高,而单机的吞吐量必然有限,这种情况会影响整体系统的性能。高可用。原创 2020-09-14 13:42:35 · 2379 阅读 · 0 评论 -
学习笔记 | mongodb和redis的区别
● 请你回答一下mongodb和redis的区别内存管理机制上:Redis 数据全部存在内存,定期写入磁盘,当内存不够时,可以选择指定的 LRU 算法删除数据。MongoDB 数据存在内存,由 linux系统 mmap 实现,当内存不够时,只将热点数据放入内存,其他数据存在磁盘。支持的数据结构上:Redis 支持的数据结构丰富,包括hash、set、list等。MongoDB 数据结构比较单一,但是支持丰富的数据表达,索引,最类似关系型数据库,支持的查询语言非常丰富。...原创 2020-07-05 21:03:33 · 228 阅读 · 0 评论 -
学习笔记 | Redis、memcached(区别)
● Redis和memcached的区别1)数据类型 :redis数据类型丰富,支持set liset等类型;memcache支持简单数据类型,需要客户端自己处理复杂对象2)持久性:redis支持数据落地持久化存储;memcache不支持数据持久存储。)3)分布式存储:redis支持master-slave复制模式;memcache可以使用一致性hash做分布式。4)value大小不同:memcache是一个内存缓存,key的长度小于250字符,单个item存储要小于1M,不适合虚拟机使用5)数据原创 2020-07-05 21:00:33 · 143 阅读 · 0 评论 -
学习笔记 | Redis 8大核心数据类型
Redis 有 8 种核心数据类型string 字符串类型;list 列表类型;set 集合类型;sorted set 有序集合类型;hash 类型;bitmap 位图类型;geo 地理位置类型;HyperLogLog 基数统计类型。string 字符串string 是 Redis 的最基本数据类型。可以把它理解为 Mc 中 key 对应的 value 类型。string 类型是二进制安全的,即 string 中可以包含任何数据。Redis 中的普通 string 采用 raw原创 2020-07-04 17:33:57 · 606 阅读 · 0 评论 -
学习笔记 | Mac上安装redis、配置redis
01 安装官网下载安装包解压:tar zxvf redis-6.0.6.tar.gz移动到: mv redis-6.0.6 /usr/local/切换到:cd /usr/local/redis-6.0.6/编译测试 sudo make test解决失败,直接安装了。编译安装 sudo make install启动 Redis redis-server查看 redis 是否启动? redis-cli查了一些资料,安装要做的一些准备,否则可能会出错:安装redis必原创 2020-08-18 12:47:51 · 162 阅读 · 0 评论