Redis 4.x系列(十二):Redis 使用合适数据类型(优化)

  Redis 为满足业务需求提供了丰富的数据类型,在使用时需要注意它们在不同业务场景中的优缺点,还需要考虑选中的数据类型在性能和内存消耗上是否还有优化的空间。

  Redis 对小的聚合类型数据进行了特殊的编码处理。Redis2.2版本及以后,存储集合数据的时候会采用内存压缩技术,以使用更少的内存存储更多的数据。当集合中的元素小于给定的个数,或元素小于给定的最大值时,Redis 会以一种非常有效的内存方式进行编码,最多可节省10倍的内存(平均至少节省5倍)。

  Redis Memory Optimization译文:内存优化

阅读更多

Spring Boot 2系列(三十六):集成 JavaMail 发送邮件

  发送电子邮件到用户是项目中一个很常见的功能,如邮件通知、邮件营销、通过邮件激活账号、通过邮件找回密码等。

  Spring Framework 提供了一个用于发送电子邮件的实用库,保护用户免受底层邮件系统的细节影响。提供了发送电子邮件的简单抽象 JavaMailSender 接口,Spring Boot 为 JavaMail提供了自动配置和启动模块。

  Spring Boot 对 Email 的支持官方说明,有关使用 JavaMail 的详细说明,可参阅官方的参考文档, JavaMail 参考实现

阅读更多

Spring Boot 2系列(三十五):集成 RabbitMQ 消息中间件

  Spring AMQP 默认支持 RabbitMQ 作为 AMQP 协议的实现,因为…RabbitMQ 和 Spring 是同一家软件公司开发的。

  Spring Boot 对 RabbitMQ 的支持也是基于 Spring AMQP。为 RabbitMQ 提供了自动配置,可以直接使用rabbitTemplate,自动开启了消息监听注解@EnableRabbit

  更多关于消息服务概念和支持的组件可阅读Spring Boot 2实践系列(三十三):JMS 和 AMQP 消息服务及支持的消息组件。   

阅读更多

Nginx系列(一):Linux 环境安装 Nginx

  Linux 环境安装 Nginx 真的太简单了,是非常的简单。

  在部署个前后端分离的前端项目,需要用到 Nginx ,但包下载下来后,接下来的操作我尽然…..忘…..了,记忆中可是随便两三步操作就能跑的。

阅读更多

Linux命令(七):apt,yum,wget,curl,dpkg,rpm安装软件命令使用

  Linux 家族的不同操作系统分别提供了各自的包(软件)管理器(命令工具)。如,Ubuntu 用的较多的是 apt,CentOS 用的较多的是 yumwgetcurl通常用于下载,基于debian的系统使用dpkg安装deb软件包,RPM软件包使用rpm命令工具管理。

  此遍对上述用于管理软件包的命令工具进行汇总,便于查找使用。

阅读更多

Redis 4.x系列(十):Redis Pub/Sub(发布/订阅)

  Publish/Subscribe(Pub/Sub-发布/订阅)是两种异步消息通信模式中的一种(另一种是 queue 点对点模式)。在发布-订阅模式中,发布者把消息发送到一个频道(channel),订阅此频道的消息接收者就可收到消息。

  发布-订阅是一对多的通信模式,发布的消息可以被多个订阅者接收,消息发布者不需要知道有那些订阅者,订阅者也不需要知道发布者,订阅者只接收(订阅)自己感兴趣的频道, 类似于调频广播。

  应用场景:群发消息、通知多系统更新缓存(数据)、推送关注频道(主题)消息等。未在生产中使用过,可靠性、稳定性未知。

  个人认为 Redis 中的这个功能是个鸡肋,还没看到在生产中使用,消息中间件发布-订阅功能更强大可靠。

阅读更多