Redis实战
文章平均质量分 56
了不起的小师傅
这个作者很懒,什么都没留下…
展开
-
Redis实战(八):击穿,穿透,雪崩,分布式锁,API(jedis,luttce,low/high level)
缓存击穿 作为缓存,受到内存大小限制,可能: key 超过了过期时间key 被 LRU LFU 清掉了 因为某些 key 不在 redis 里面了,大量并发来找这个 key 的时候,这时候客户端去直接请求数据库,这就是击穿。 这个问题怎么解决? 只要发现某个key不存在,就让所有对这个key的请求去抢一把锁。也就是说, 让第一个找key的请求,执行一个setnx,类似于放一把锁。只有获得锁的人才能去数据库查...转载 2021-05-29 19:28:54 · 349 阅读 · 0 评论 -
Redis实战(七):redis的集群:主从复制、CAP、PAXOS、cluster分片集群 2
上节回顾 上一节我们讲了AKF拆分原则,讲了Redis主从复制的方式,是X轴方向的拓展,实现了HA,但是没有解决单节点数据的容量有限问题。 如何解决单节点数据容量的问题 如果数据可以分类,交集不多,可以考虑按业务拆分 如果数据没有办法划分拆解: 采用sharding分片 下面这三种方案都发生在客户端 1、Hash+取模(几乎没人用) 2、使用random随机分配节点,适合做消息队列 3、使用...转载 2021-05-29 19:29:04 · 230 阅读 · 0 评论 -
Redis实战(六):Redis的集群:AKF,主从复制的概念引入,CAP,Sentinel 哨兵
单击、单节点、单实例存在的问题 单点故障(物理机挂了,要等很久才能可用)容量有限压力过大 解决方式 AKF 有XYZ三个轴,可以只发生一个,可以多个维度一起发生 X轴:Redis示例的副本,数据库的副本…读写分离,增加备用性,解决单点故障的问题,全量镜像,不能解决容量有限的问题 Y轴:对要存的数据按照不同的功能业务拆分,不同类别的数据分开存储,客户端实现指定查询哪个库,解决容量有限的问题 Z轴:在按照业务拆...转载 2021-05-27 22:31:36 · 189 阅读 · 0 评论 -
Redis实战(五):Redis的持久化RDB、fork、copyonwrite、AOF、RDB&AOF混合使用
补充一个知识 缓存:数据可以丢,保证速度。 数据库:数据是绝对不能丢的,保证速度+持久性,内存中的数据是掉电易失的。 存储层: 快照/副本日志文件 $$优先级高于管道 fork() fork是系统调用,copy on write是内核机制。 写时复制 在fork子进程的时候,只拷贝指针,并不发生内存的复制。 只有当其中的某一个进程试图对该区域进行写操作时,内核就会在物理存储器中为子进程开辟一个新的...转载 2021-05-27 22:30:26 · 164 阅读 · 0 评论 -
Redis实战(四):redis的消息订阅、pipeline、事务、modules、布隆过滤器、缓存LRU
啤酒理论 Buffer机制,减少没必要的来回调用 前置知识 只要和redis建立了连接,发送字符串,就能交互 管道 发布 / 订阅 help @pubsub 发送者 订阅者 PSUBSCRIBE pattern [pattern ...] summary: Listen for messages published to channels matching the given...转载 2021-05-27 22:29:31 · 110 阅读 · 0 评论 -
Redis实战(三):Redis的List、Set、Hash、sorted_set、skip list
String类型(上节回顾) List 类型 help @list查看帮助 可以用List类型实现一个栈: lpush k1 a b c d e左边push lpop k1 a b c d e左边pop(后进先出) 可以用List类型实现一个队列: lpush k1 a b c d e左边push rpop k1 a b c d e右边pop(先进先出) 获取List中某个范围之间的所有元素(支持负...转载 2021-05-27 22:28:04 · 183 阅读 · 0 评论 -
Redis实战(二):Redis 的 String 类型 & bitmap
Redis 常用命令、数据类型 查看帮助 To get help about Redis commands type: "help @<group>" to get a list of commands in <group> "help <command>" for help on <command> "help &l...转载 2021-05-27 22:26:53 · 168 阅读 · 0 评论 -
Redis实战(一):Redis 介绍及 NIO 原理介绍
Redis一键安装并启动的脚本(root用户) 试过用其他权限用户安装会出错,可能是因为命令中没有写 sudo 切换到root,直接执行即可。 #!/bin/bash cd /usr/local/ && wget http://download.redis.io/releases/redis-5.0.5.tar.gz && tar -zxvf redis-5.0.5.tar...转载 2021-05-27 22:23:10 · 257 阅读 · 0 评论