Redis
文章平均质量分 96
跟随 Redis 官网、《Redis深度历险》 学习并整理 Redis 相关知识。
Ang Ga Ga
Rush!投入/专注/我永远爱Java。
展开
-
Redis(九):新增数据结构 Stream
文章目录一、Stream1、增删改查2、独立消费3、创建消费组一、Stream Redis5.0 被作者 Antirez 突然放了出来,增加了很多新的特色功能。而 Redis5.0 最大的新特性就是多出了一个数据结构 Stream,它是一个新的强大的支持多播的可持久化的消息队列 ,作者坦言 Redis Stream 狠狠地借鉴了 Kafka 的设计。 Redis Stream 的结构如上图所示,它有一个消息链原创 2021-01-19 16:53:06 · 1441 阅读 · 0 评论 -
Redis(八)原理:管道、事务、PubSub
文章目录一、管道 Pipeline1、Redis 的消息交互2、管道压力测试一、管道 Pipeline 有了管道技术,可以加速 Redis 的存取速率。不过 管道本身并不是 Redis 服务器直接提供的技术,这个技术本质上是由客户端提供的,跟服务器没有什么直接的关系。下面我们来对这块儿做一个深入的探究。1、Redis 的消息交互 当我们使用客户端对 Redis 进行一次操作时,如下图所示,客户端将请求传送给服原创 2021-01-19 16:52:40 · 293 阅读 · 0 评论 -
Redis(十一)集群:Sentinel、Codis、Cluster
文章目录一、Sentinel1、消息丢失2、Sentinel 基本使用一、Sentinel 目前我们讲的 Redis 还只是主从方案、最终一致性,如果主节点凌晨 3 点突发宕机怎么办?坐等运维从床上爬起来,然后手工进行从主切换,再通知所有的程序把地址统统改一遍重新上线?毫无疑问,这样的人工运维效率太低,事故发生时估计得至少 1 个小时才能缓过来。如果是一个大型公司,这样的事故足以上新闻了。 所以我们必须有一个高原创 2021-01-16 17:27:55 · 663 阅读 · 2 评论 -
Redis(十)小对象压缩、主从同步
文章目录一、小对象压缩存储 (ziplist) Redis 是一个非常耗费内存的数据库,它所有的数据都放在内存里。如果我们不注意节约使用内存,Redis 就会因为我们的无节制使用出现内存不足而崩溃。Redis 作者为了优化数据结构的内存占用,也苦心孤诣增加了非常多的优化点,这些优化也是以牺牲代码的可读性为代价的,但是毫无疑问这是非常值得的,尤其像 Redis 这种数据库。32bit vs 64bit Redis原创 2021-01-10 10:38:47 · 154 阅读 · 3 评论 -
Redis(七)原理:线程 IO 模型、通信协议、持久化
文章目录一、线程 IO 模型1、非阻塞 IO2、事件轮询(多路复用)3、指令队列、响应队列4、定时任务二、通信协议(1)RESP(Redis Serialization Protocol)一、线程 IO 模型 Redis 是个单线程程序 ! 这一点必须铭记,所以要小心使用 Redis 指令,对于那些时间复杂度为 O(n) 级别的指令,一定要谨慎使用,一不小心可能就会导致 Redis 卡顿。也许你会怀疑 高并发的 Redis 中间件怎么可能是单线程?但它确实是原创 2021-01-02 12:04:13 · 238 阅读 · 0 评论 -
Redis(六)GeoHash、Scan
文章目录一、GeoHash1、基本使用一、GeoHash Redis 在 3.2 版本后增加了地理位置 GEO 模块,意味着我们可以使用 Redis 来实现摩拜单车 “附件的 Mobike”、美团 和 饿了么 “附近的餐馆” 这样的功能。 我们先来看看如何 用数据库来算附近的人,地图元素的位置数据使用二维的经纬度表示,经度范围 (-180, 180],纬度范围 (-90, 90],纬度正负以赤道为界,北正南负,原创 2020-12-30 22:16:50 · 212 阅读 · 0 评论 -
Redis(五)应用:HyperLogLog、布隆过滤器、限流
文章目录UV、IP 、PV 和 VV一、HyperLogLog1、使用方法UV、IP 、PV 和 VV 首先知道这几个概念 UV 、IP、PV 和 VV(实习的时候也听到过。) UV 是 Unique visitor,是指通过互联网访问、浏览这个网页的自然人,访问网站的一台电脑客户端为一个访客,24 小时内相同的客户端只被计算一次。一天内同个访客多次访问仅计算一个 UV。 &原创 2020-12-28 22:02:11 · 472 阅读 · 0 评论 -
Redis (一) 简介与基本数据类型
文章目录一、简介1. 问题与解决方案:2. 概念3. 应用二、启动 Redis三、基本操作四、基本数据类型1.介绍一、简介1. 问题与解决方案:海量用户高并发 罪魁祸首:关系型数据库——性能瓶颈:磁盘 IO 性能低下;扩展瓶颈:数据关系复杂,扩展性差,不便于大规模集群; 解决思路:降低磁盘IO次数原创 2020-06-22 15:16:24 · 539 阅读 · 0 评论 -
Redis(四)应用:延时队列、位图
文章目录一、延时队列1、异步消息队列2、延时队列的实现Redis 延时队列的优势Redis 延时队列的劣势3、Redssion 实现延时队列二、位图1、基本使用一、延时队列 我们平时习惯使用 RabbitMQ 和 Kafka 作为消息队列中间件来给应用程序之间增加异步消息传递功能,这两个中间件都是专业的消息队列中间件,特性之多超出了大多数人的理解能力。(????) 比如,使用 RabbitMQ,发送消息前要创建原创 2020-12-22 09:01:22 · 373 阅读 · 2 评论 -
Redis(三)应用:分布式锁
文章目录 分布式应用进行逻辑处理时,经常会遇到并发问题。 用并发那块儿的知识理解分布式锁,就类似于获取资源 / 独占锁,(如果理解有误请在评论中指出????)如果一个进程已经获取了资源,当别的进程也要来尝试获取资源时,就会失败。 获取资源一般是使用 setnx(set if not exists)指令 ,先来先获取,使用完毕后调用 del 指令释放资源。&nbs原创 2020-12-14 16:11:58 · 568 阅读 · 0 评论 -
Redis(二)Jedis 简单使用
Jedis 就是 Java 同 Redis 建立连接的工具。 使用 Jedis 需要先导入依赖:<!-- https://mvnrepository.com/artifact/redis.clients/jedis --><dependency> <groupId>redis.clients</groupId> <artifactId>原创 2020-12-08 16:12:48 · 231 阅读 · 0 评论 -
Redis(一)简介、基本数据类型、通用指令
文章目录一、Redis 的简介、特点、应用???? 启动 Redis二、Redis 基本操作1、string 类型2、list 类型3、set 类型4、sort_set 类型5、hash 类型一、Redis 的简介、特点、应用 跟随 Redis 官网,https://redis.io/,来学习 Redis 吧 ????。 译:Redis是一种开放源代码(BSD许可)的内存中数据结构存储,用作数据库,缓存 和原创 2020-12-07 20:01:00 · 249 阅读 · 0 评论