为什么做Redis Client? Redis Client顾名思义,redis的客户端,主要是封装了一些对于Redis的操作. 而目前用的比较广泛的 ServiceStack.Redis 不学好,居然开始收费了. 作为轮子狂魔,是可忍孰不可忍啊.于是我决定自己造轮子了. Redis通信协议 先给个Redis官方的通信协议地址:http://redisdoc.com/topic/protocol.html 关键是我截图的部分,我们可以得到以下几个信息: 1.tcp协议 2.默认端口6379 3.…
此文仅为初学java的同学学习,大佬请勿喷,文末我会附上完整代码包供大家参考 redis的搭建教程此处略过,大家自行百度,本文的教程开始: 一.先在pom.xml中添加相关依赖 <!--redis的依赖 start--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId…
众所周知,消息队列是应用系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构.目前使用较多的消息队列有 ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ. 但是如果你不想为你的系统引入一个重量级(相对 redis 来说)的 mq,但是想要享受解耦.异步消息等特性,通过本文你就 get 到了,通过 redis 实现一个简单版的 mq. 为什么是 redis redis 通常作为缓存服务引入,因此大部分系…
DevUI是一支兼具设计视角和工程视角的团队,服务于华为云DevCloud平台和华为内部数个中后台系统,服务于设计师和前端工程师. 官方网站:devui.design Ng组件库:ng-devui(欢迎Star) 官方交流:添加DevUI小助手(devui-official) DevUIHelper插件:DevUIHelper-LSP(欢迎Star) 前言 随着前端生态的繁荣,工具库几乎是高效开发的必需品,lodash/dayjs/numberal等实用的工具库相信大家都用过. 我近期在开发Ca…
上一篇:手把手教你学Dapr - 2. 必须知道的概念 注意: 文章中提到的命令行工具即是Windows Terminal/PowerShell/cmd其中的一个,推荐使用Windows Terminal 运行命令行工具的时候建议以管理员身份,避免踩坑 为了保证操作顺畅,建议使用PowerShell先执行一下set-ExecutionPolicy RemoteSigned 安装Docker 因为Dapr CLI默认会在Docker内启动 redis.zipkin.placement. 当然这些也…
上一篇:手把手教你学Dapr - 4. 服务调用 介绍 使用状态管理,您的应用程序可以将数据作为键/值对存储在支持的状态存储中. 您的应用程序可以使用 Dapr 的状态管理 API 使用状态存储组件来保存和读取键/值对,如下图所示.例如,通过使用 HTTP POST,您可以保存键/值对,通过使用 HTTP GET,您可以读取键并返回其值. 特性 可插拔状态存储 Dapr 数据存储被建模为组件,可以在不更改代码的情况下更换它.例如:MySQL.Redis.Azure CosmosDB等. 可配置的…
上一篇:手把手教你学Dapr - 5. 状态管理 介绍 发布/订阅模式允许微服务使用消息相互通信.生产者或发布者在不知道哪个应用程序将接收它们的情况下向主题发送消息.这涉及将它们写入输入通道.同样,消费者或订阅者订阅该主题并接收其消息,而不知道是什么服务产生了这些消息.这涉及从输出通道接收消息.中间消息代理负责将每条消息从输入通道复制到所有对该消息感兴趣的订阅者的输出通道.当您需要将微服务彼此分离时,这种模式特别有用. Dapr 中的发布/订阅 API 提供至少一次(at-least-once)…
上一篇:手把手教你学Dapr - 6. 发布订阅 介绍 Actor模式将Actor描述为最低级别的"计算单元".换句话说,您在一个独立的单元(称为actor)中编写代码,该单元接收消息并一次处理一个消息,没有任何并发或线程. 再换句话说,根据ActorId划分独立计算单元后,相同的ActorId重入要排队,可以理解为lock(ActorId) 注:这里有个反例,就是重入性的引入,这个概念目前还是Preview,它允许同一个链内可以重复进入,判断的标准不止是ActorId这么简单,即自己…
目录 手把手教你学Dapr - 1. .Net开发者的大时代 手把手教你学Dapr - 2. 必须知道的概念 手把手教你学Dapr - 3. 使用Dapr运行第一个.Net程序 手把手教你学Dapr - 4. 服务调用 手把手教你学Dapr - 5. 状态管理 手把手教你学Dapr - 6. 发布订阅 手把手教你学Dapr - 7. Actors 手把手教你学Dapr - 8. 绑定 介绍 使用绑定,您可以使用来自外部系统的事件触发您的应用程序,或与外部系统交互.这个构建块为您和您的代码提供了几…
手把手教你写网络爬虫(7) 作者:拓海 摘要:从零开始写爬虫,初学者的速成指南! 封面: 本期我们来聊聊URL去重那些事儿.以前我们曾使用Python的字典来保存抓取过的URL,目的是将重复抓取的URL去除,避免多次抓取同一网页.爬虫会将待抓取的URL放在todo队列中,从抓取到的网页中提取到新的URL,在它们被放入队列之前,首先要确定这些新的URL是否被抓取过,如果之前已经抓取过了,就不再放入队列. 有别于单机系统,在分布式系统中,这些URL应该存放在公共缓存中,才能让多个爬虫实例共享,我们继…