Redis Pipeline & 发布订阅
1.Redis 管道(Pipeline) 我们搬家的时候往往是大包小包。 此时,有两种方案可以选择: 完全靠一己之力,一趟一趟的搬。找个货运车,一趟就搬过去。 而Pipeline就是这个这个货运车,把你的一批命令一把送过去,然后告诉你结果。目的是节省你的网络开销(建立连接 关闭连接 再开再关,对于计算机而已都是需要开辟资源去处理的)。 使用场景: 1.批处理、维护缓存数据 在电商的场景中,...
1.Redis 管道(Pipeline) 我们搬家的时候往往是大包小包。 此时,有两种方案可以选择: 完全靠一己之力,一趟一趟的搬。找个货运车,一趟就搬过去。 而Pipeline就是这个这个货运车,把你的一批命令一把送过去,然后告诉你结果。目的是节省你的网络开销(建立连接 关闭连接 再开再关,对于计算机而已都是需要开辟资源去处理的)。 使用场景: 1.批处理、维护缓存数据 在电商的场景中,...
Redis 单机安装教程12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455# 安装wget工具yum install wget# 安装gcc,c语言编译工具yum install gcc# 创建soft,便于后期管理软件mkdir soft ...
Redis的持久化Redis是基于内存的,必须要考虑的一个问题就是:当redis服务挂了之后,之前的数据怎么重新加载到内存?那么必须要考虑一种存放历史数据的解决方案。 RDB:指定的时间间隔对数据进行快照存储。 假如开始拍快照时间为10:00,整个快照落库持久化完成大概需要5分钟,即10:05此次快照拍完。而在10:04的时候b被改成了5,那么在rdb生成的结果里b是存的4还是5呢?是的...
一.缓存击穿1.什么是击穿 所谓击穿,用个形象的比喻就是射击,子弹穿过了缓存挡板,打了一个孔,这个孔就是热点Key,再击中了标的物:数据库。那么就是缓存中已经过期淘汰了,但是数据库中还有,然后所有的请求刚好在缓存失效的那一瞬间,刚好有大批量的请求在这个热点key,从而所有的请求打在了数据库上。 2.解决击穿问题的思路分析击穿的致命点在哪?就在于:失效的那一瞬间所有的请求到达了数据库。那么在...
1.Redis 管道(Pipeline) 我们搬家的时候往往是大包小包。 此时,有两种方案可以选择: 完全靠一己之力,一趟一趟的搬。 找个货运车,一趟就搬过去。 而Pipeline就是这个这个货运车,把你的一批命令一把送过去,然后告诉你结果。目的是节省你的网络开销(建立连接 关闭连接 再开再关,对于计算机而已都是需要开辟资源去处理的)。 使用场景: 1.批处理、维护缓存数据 ...
一、先谈单节点的 Redis 存在的问题 单点故障 数据容量问题 连接数、请求压力问题 解决方案:AKF 思路:AKF 立方体也叫做 scala cube,AKF 把系统扩展分为以下三个维度: X 轴:直接水平复制应用进程来扩展系统。形象的实现就是数据库的主备模型。 Y 轴:将功能拆分出来扩展系统。形象的实现就是数据库的分库方案。 Z 轴:基于用户信息扩展系统。形象的实现就是数据库的...
一、再谈单节点的 Redis 存在的问题 单点故障 数据容量问题 连接数、请求压力问题 前文提及的主从+哨兵架构,解决了单点问题和请求压力问题,但是数据容量仍然是 1:1 的克隆数据,数据容量问题依旧存在,数据并没有分摊到各个节点。 二、如何解决单点数据容量问题A:基于客户端的方案1.业务拆分数据从业务的角度不同的模块按约定好的逻辑落入不同的Redis 节点。 比如:评论业务用一个redi...
1.先谈为什么Redis既然已经有了 MySQL 数据库为什么还研发出 Redis 这种 key-value 内存数据库,或者为什么不直接存储在.txt/.log这种文件里?Redis 的出现为我们解决了什么问题? 解决磁盘的 IO 瓶颈 存放在 txt/log、MySQL 的数据最终存放是在磁盘的,磁盘寻址耗时是毫秒(ms)级别的。 磁盘存放的数据,一次查询能查询出来...
List 结构常见的操作: LRANGE : LRANGE key start stop 12# 从头到尾取出key为:testlist 的元素LRANGE testlist 0 -1 LPUSH : LPUSH key element [element ...] 从上个元素左侧添加元素,或者说从头部添加。 1234567LPUSH testlist 1 2 3 4# 这里容易理解成...