随笔分类 -  Redis

摘要:击穿 缓存击穿是指缓存中没有但数据库中有的数据,当大量并发来找这个 key 的时候,这时候客户端去直接请求数据库,这就是击穿。 key 超过了过期时间 key 被 LRU LFU 清掉了 解决方案: 加互斥锁,只有获得锁的人才能去数据库查,没释放锁之前,其他并行进入的线程会等待sleep,再重新去缓 阅读全文
posted @ 2021-08-29 20:19 gary2048 阅读(40) 评论(0) 推荐(0) 编辑
摘要:主从复制解决HA问题,未解决容量有限问题 容量的问题 AKF 的 y轴 做纵向业务拆分,这样把存储的数据,在客户端层面就决定好每个redis存储一部分的数据。 如果数据可以分类,交集不多,可以考虑按业务拆分 如果数据量很大,光拆分了业务之后,还是每个业务拥有大量数据, 数据没有办法划分拆解 采用sh 阅读全文
posted @ 2021-08-27 23:57 gary2048 阅读(487) 评论(0) 推荐(0) 编辑
摘要:单机、单节点、单实例 单点故障 容量有限 压力 集群方式 AKF拆分 AKF 立方体也叫做scala cube,它在《The Art of Scalability》一书中被首次提出,旨在提供一个系统化的扩展思路。AKF 把系统扩展分为以下三个维度: X 轴:直接水平复制应用进程来扩展系统。 Redi 阅读全文
posted @ 2021-08-26 00:18 gary2048 阅读(84) 评论(0) 推荐(0) 编辑
摘要:单机持久化 存储层 快照/副本 日志 RDB 对应快照 时点性,是每隔一段时间存一下 阻塞,redis不对外提供服务 非阻塞,redis继续对外提供服务 非阻塞过程写个过程中存在修改,数据正确性不能保证,备份的时间点也无法确认,redis采用下图方式无法实现 非阻塞,fork方式 redis 子进程 阅读全文
posted @ 2021-08-24 23:19 gary2048 阅读(59) 评论(0) 推荐(0) 编辑
摘要:集合 List Hash Set sorted_set List 双向链表 命令 LPUSH k1 a b c d e Prepend one or multiple values to a list RPUSH k2 e d c b a Append one or multiple values 阅读全文
posted @ 2021-08-21 22:36 gary2048 阅读(33) 评论(0) 推荐(0) 编辑
摘要:redis进阶使用 管道(Pipelining) http://redis.cn/topics/pipelining.html 管道连接redis 一次发送多个命令,节省往返时间 安装nc yum install nc -y 通过nc连接redis nc localhost 6379 注意配置/et 阅读全文
posted @ 2021-08-21 22:35 gary2048 阅读(62) 评论(0) 推荐(0) 编辑
摘要:常用命令 redis-cli 连接客户端 redis-cli -p 6380 连接制定端口 redis-cli -h 帮助文档 select 8 选择库(默认16个库) redis-cli -p 6380 -n 8 连接制定端口制定8号库 help @generic 查看通用组帮助 set key3 阅读全文
posted @ 2021-08-18 23:25 gary2048 阅读(56) 评论(0) 推荐(0) 编辑
摘要:常识 磁盘: 1,寻址:ms 2,带宽:G/M 内存: 1,寻址:ns 2,带宽:很大 秒 毫秒 微秒 纳秒 磁盘比内存在寻址上慢了10W倍 I/O buffer:成本问题 磁盘与磁道,扇区,一扇区 512Byte带来一个成本变大:索引 4K 操作系统,无论你读多少,都是最少4k从磁盘拿 随着文件变 阅读全文
posted @ 2021-08-15 23:12 gary2048 阅读(58) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示