摘要: Redis是一个使用客户端-服务器模型和所谓的请求/响应协议的TCP服务器。 这意味着通常通过以下步骤完成请求: 客户端向服务器发送查询,并通常以阻塞方式从套接字读取服务器响应。 服务器处理命令并将响应发送回客户端。 客户端发送请求到服务器,服务器处理请求并响应给客户端。这个过程消耗的时间叫做RTT 阅读全文
posted @ 2024-10-19 20:42 shigp1 阅读(5) 评论(0) 推荐(0) 编辑
摘要: Netty的核心组件有: Bootstrap EventLoopGroup Channel ChannelHandler ChannelPipeline ChannelHandlerContext ChannelOption ByteBuf ChannelFuture Bootstrap Boots 阅读全文
posted @ 2024-10-19 16:04 shigp1 阅读(41) 评论(0) 推荐(0) 编辑
摘要: redis的key空间通知是实时监控Redis键和值的更改。那什么是key空间通知呢?当客户端执行一些命令,比如 set name Tom,会创建或更新key。此时Redis服务器会将这些事件发布到通道中,客户端可以通过subscribe通道,以便接收以某种方式影响Redis数据集的事件。如果发布/ 阅读全文
posted @ 2024-10-04 17:24 shigp1 阅读(15) 评论(0) 推荐(0) 编辑
摘要: sorted set也是Redis中常用的类型。可以用来解决热搜,排名前十等问题。 ZADD ZADD key [NX|XX] [GT|LT] [CH] [INCR] score member [score member ...] zadd将多个分数和元素对添加到sorted set中。还有些选项影 阅读全文
posted @ 2024-10-04 15:27 shigp1 阅读(130) 评论(0) 推荐(0) 编辑
摘要: Redis集合是成员的无序集合。可以用来保存唯一的成员。 注意:对于以下的命令,涉及删除成员的,如果集合中的所有元素都被移除,则集合会被删除。如果集合原先不存在,被当作空集合。 SADD SADD key member [member ...] sadd命令将一系列成员添加到set中。 SMEMBE 阅读全文
posted @ 2024-10-03 10:32 shigp1 阅读(6) 评论(0) 推荐(0) 编辑
摘要: Netty是快速开发高性能,高扩展性的网络服务器和客户端提供的异步框架。目标有: 快速轻松开发,不仅能快速轻松开发tcp,udp程序,还能开发ftp,http外的其他应用层协议。 高性能,高扩展,基于Java的NIO设计了优秀的Reactor模式实现。 这里选择Netty4版本。依赖如下: <dep 阅读全文
posted @ 2024-10-02 20:46 shigp1 阅读(10) 评论(0) 推荐(0) 编辑
摘要: redis的hash类型就是平时说的hash表,字典。类似于Java中的HashMap。可以用来存储对象等结构。现在看下操纵hash类型的命令。 HGET HGET key field hget获取hash中的field字段的值。 HSET HSET key field value [field v 阅读全文
posted @ 2024-10-02 15:20 shigp1 阅读(50) 评论(0) 推荐(0) 编辑
摘要: Reactor模式 许多高性能的服务器软件离不开Reactor模式.像高性能缓存Redis,高性能web服务器Nginx,高性能的网络组件Netty,高性能的消息中间件Kafka,RocketMQ等. 那什么是Reactor模式呢?借用Doug Lea大师的话来说,就是: Reactor模式由Rea 阅读全文
posted @ 2024-09-28 20:33 shigp1 阅读(17) 评论(0) 推荐(0) 编辑
摘要: NIO Java在1.4版本开始,引入了NIO,称为Java New IO。又称老的阻塞IO为OIO(Old IO)。 NIO与OIO对比: OIO是面向流,操作的是字节。NIO引入了Buffer和Channel,操作的是缓冲区。 OIO是阻塞的,NIO是非阻塞的 OIO没有Selector的概念 阅读全文
posted @ 2024-09-28 11:17 shigp1 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 不管是做C端还是做B端,都要接触网络。文件操作,rpc,网上冲浪等,都与网络相关。网络又离不开IO。用的最多的IO操作就是读取和写入了。在Linux系统中,用read系统调用来发起读取操作,用write系统调用来发起写入操作。虽然在开发中,很少接触到底层的原理。但是学习后可以让我们写出更高质量的代码 阅读全文
posted @ 2024-09-21 19:36 shigp1 阅读(6) 评论(0) 推荐(0) 编辑