ytao's blog


  • Home

  • Categories

  • Tags

  • About

  • Search

Redis5新特性Streams作消息队列

Posted on 2020-01-06 | In Redis

前言

Redis 5 新特性中,Streams 数据结构的引入,可以说它是在本次迭代中最大特性。它使本次 5.x 版本迭代中,Redis 作为消息队列使用时,得到更完善,更强大的原生支持,其中尤为明显的是持久化消息队列。同时,stream 借鉴了 kafka 的消费组模型概念和设计,使消费消息处理上更加高效快速。本文就 Streams 数据结构中常用 API 进行分析。

准备

本文所使用 Redis 版本为 5.0.5 。如果使用更早的 5.x 版本,有些 API 使用效果,与本文中描述略有不同。

添加消息

Streams 添加数据使用 XADD 指令进行添加,消息中的数据以 K-V 键值对的形式进行操作。一条消息可以存在多个键值对,添加命令格式:

1
XADD key ID field string [field string ...]
Read more »

Netty之缓冲区ByteBuf解读(二)

Posted on 2019-12-31 | In Netty

上篇介绍了 ByteBuf 的简单读写操作以及读写指针的基本介绍,本文继续对 ByteBuf 的基本操作进行解读。

读写指针回滚

这里的 demo 例子还是使用上节使用的。

1
2
3
4
5
6
7
8
ByteBuf buf = Unpooled.buffer(15);
String content = "ytao公众号";
buf.writeBytes(content.getBytes());
System.out.println(String.format("\nwrite: ridx=%s widx=%s cap=%s", buf.readerIndex(), buf.writerIndex(), buf.capacity()));

byte[] dst = new byte[4];
buf.readBytes(dst);
System.out.println(String.format("\nread(4): ridx=%s widx=%s cap=%s", buf.readerIndex(), buf.writerIndex(), buf.capacity()));
Read more »

Netty之缓冲区ByteBuf解读(一)

Posted on 2019-12-23 | In Netty

Netty 在数据传输过程中,会使用缓冲区设计来提高传输效率。虽然,Java 在 NIO 编程中已提供 ByteBuffer 类进行使用,但是在使用过程中,其编码方式相对来说不太友好,也存在一定的不足。所以高性能的 Netty 框架实现了一套更加强大,完善的 ByteBuf,其设计理念也是堪称一绝。

Read more »

ElasticSearch之安装及基本操作API

Posted on 2019-12-14 | In ElasticSearch

ElasticSearch 是目前非常流行的搜索引擎,对海量数据搜索是非常友好,并且在高并发场景下,也能发挥出稳定,快速特点。也是大数据和索搜服务的开发人员所极力追捧的中间件。虽然 ElasticSearch 深受大家的喜爱,但是它的迭代速度之快,所以在相关社区老是有听说到学不动了的话语,也正是这种不断完善,才能拥有现在的社区活跃。我使用 ElasticSearch 时,从 5.x 到 6.x 版本,再到现在接触到 7.x 版本。从版本升级中,也看到了 ElasticSearch 对主流技术变化的拥抱,最明显的是新版 JDK 版本的支持及容器技术的支持。

安装

本文基于目前最新版本ElasticSearch-7.5.0进行操作,如官网下载太慢,可在【ytao公众号】中发送es获取下载链接。

Read more »

Netty中粘包/拆包处理

Posted on 2019-12-09 | In Netty

TCP 是基于流传输的协议,请求数据在其传输的过程中是没有界限区分,所以我们在读取请求的时候,不一定能获取到一个完整的数据包。如果一个包较大时,可能会切分成多个包进行多次传输。同时,如果存在多个小包时,可能会将其整合成一个大包进行传输。这就是 TCP 协议的粘包/拆包概念。

Read more »
1…3456


原创技术博客

路漫漫其修远兮,吾将上下而求索

29 posts
13 categories
29 tags
RSS
Links
© 2023 Yang Tao
本站总访问量次 | 本站访客数人

粤ICP备19117800号

0%