Stream是一个只能追加内容的数据类型。也就是说Stream这种数据类型,我们对他的添加操作,只能是向Stream的末尾追加内容,不能在头部或者中间插入内容。那追加的是什么内容呢?Stream中追加的内容其实就是一个或多个key-value pair。这些键值对不必遵循相同的结构。每一次追加的键值对都可以不同。例如第一次追加name=hello的键值对,第二次也可以变成追加desc=word的键值对。关于Redis Stream的文章满天飞,这里不再重复,但是这些文章只是告诉你如何发消息,收消息,但是没有说如果我们的业务处理过程中出现了问题,这些没有处理的消息,怎么再次处理?在之前消息队列时...阅读全文>>
在官网的文档介绍中有一行介绍:Redis是一个快速稳定的发布/订阅消息系统。Redis提供了发布与订阅的功能,可以用于消息的传输,Redis的发布订阅机制包括三部分,发布者、订阅者和Channel(主题或者队列)。其原生命令以及相关介绍http://www.redis.cn/topics/pubsub.html 。Redis可以提供基本的发布订阅功能,但毕竟不像消息队列那种专业级别,所以会存在以下缺点:redis无法对消息持久化存储,消息一旦被发送,如果没有订阅者接收,数据会丢失。消息队列提供了消息传输保障,当客户端连接超时或事物回滚的等情况发生时,消息会重新发布给订阅者。redi...阅读全文>>
Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步...阅读全文>>
随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、流量路由、熔断降级、系统自适应过载保护、热点流量防护等多个维度保护服务的稳定性。Sentinel 具有以下特征:丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等。完备的实时监控:Sentinel 同时提供实时的监控功能。您可以在控制台中看到接入应用的单台机器秒级数据,甚至 500 台以下规模的集群的汇总运行情况。广泛的开源生态:Sentinel 提供开...阅读全文>>
随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、流量路由、熔断降级、系统自适应过载保护、热点流量防护等多个维度保护服务的稳定性。Sentinel 具有以下特征:丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等。完备的实时监控:Sentinel 同时提供实时的监控功能。您可以在控制台中看到接入应用的单台机器秒级数据,甚至 500 台以下规模的集群的汇总运行情况。广泛的开源生态:Sentinel 提供开...阅读全文>>
Redis提供了Bitmaps这个“数据类型”可以实现对位的操作:(1) Bitmaps本身不是一种数据类型, 实际上它就是字符串(key-value) , 但是它可以对字符串的位进行操作。(2) Bitmaps单独提供了一套命令, 所以在Redis中使用Bitmaps和使用字符串的方法不太相同。 可以把Bitmaps想象成一个以位为单位的数组, 数组的每个单元只能存储0和1, 数组的下标在Bitmaps中叫做偏移量。首先我们要理解几个命令,特别是最后一个,这些命令可以参考Redis文档。SETBIT key offset value设置或者清空key的value(字符串)在offset处的b...阅读全文>>
在掘金社区看到有人说这个问题,网上查了一下真有人遇到过这个问题,这里来简单说下。date格式为“YYYY-MM-dd”表示的是周年,date格式为“yyyy-MM-dd”表示的是年。看如下代码@Test public void test2() { DateFormat lFormat = new SimpleDateFormat("yyyy-MM-dd"); DateFormat uFormat...阅读全文>>
阿里云介绍:为解决用户无法获知免费证书剩余额度的问题,从2021年1月1日起,阿里云SSL证书服务将为每个实名的个人主体或者企业主体提供1个自然年内,免费领取一次包含20张免费证书的资源包。详细说明如下:实名个人主体或企业主体(包括该企业的所有阿里云账号)下,1个自然年内只能领取一次包含20张免费证书的资源包(共包含20张免费证书)。自然年是每年的01月01日~12月31日。每年12月31日24:00:00,未领取的免费证书资源包额度将会清零。您需要等到第二年的1月1日00:00:00后申请领取当年的免费证书资源包。下面申请SSL免费证书申请后,因为主机也在阿里云,直接部署即可。这边我使用的是...阅读全文>>
ava 8 API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据。Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达的高阶抽象。Stream API可以极大提高Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。这种风格将要处理的元素集合看作一种流, 流在管道中传输, 并且可以在管道的节点上进行处理, 比如筛选, 排序,聚合等。元素流在管道中经过中间操作(intermediate operation)的处理,最后由最终操作(terminal operation)得到前面处理的结果。先创建测试对象packa...阅读全文>>
Integer.parseInt多次解析同一个字符串得到的int基本类型数据是相等的。Integer.valueOf多次解析相同的一个字符串时,得到的是Integer类型的对象:如果s字符串对应的整数值在 -128~127之间,则解析出的Integer类型的对象是同一个对象;如果s字符串对应的整数值不在-128~127之间,则解析出的Integer类型的对象不是同一个对象。测试代码public class LambdaTest { public static void main(Str...阅读全文>>