Redis 4.x系列(八):Redis Pipeline(管道技术)
Redis 管道是客户端将多个命令打包一次性发送给服务器,不用等到单独命令的执行结果返回;而 Redis 管理需要服务器在执行所有的命令后返回结果,所有命令发送和接收只发生一次,大大减少了多个命令单独在网络的耗时延迟。Redis 管道官方文档。
Redis 4.x系列(八):Redis Pipeline(管道技术)
Redis 管道是客户端将多个命令打包一次性发送给服务器,不用等到单独命令的执行结果返回;而 Redis 管理需要服务器在执行所有的命令后返回结果,所有命令发送和接收只发生一次,大大减少了多个命令单独在网络的耗时延迟。Redis 管道官方文档。
项目中的代码捕获到的异常(Exception
)信息应该通过日志管理(Log4j
)写入到日志文件,是非常不建议直接打印出栈信息的(e.printStackTrace()
);而通过 Exception 的方法直接获取到的异常信息并不全面,或直接对异常信息进行 JSON
格式化,但记录到日志信息是长长的一行,非常不利于阅读和跟踪问题。
我们可以调用 getStackTrace()
方法,返回的是栈跟踪信息数组,通过对数组遍历格式化拼接,可以让记录到日志文件的异常信息的格式达到 **printStackTrace()**方法的效果,这就是下面的工具类的目的,代码非常的简单。
Redis 4.x系列(七):Redis 数据特性之位图、过期、排序
Bitmap:Redis 中的位图并不是一种新的数据类型,它的底层数据类型是字符串。字符串的本质是二进制大对象(BLOB:Binary Large Object),所以可以视作位图。
Expire:可以通过设置键的过期时间,让 Redis 自动地删除键。
Sort:可以对列表以某种非权重顺序对有序集合的元素进行排序。
Redis Keys 是二进制安全的,可以使用任何二进制序列作为键,例如”foo“字符串到 JPEG文件内容字符串也是有效键。
Key 的定义应长度适当,易读易理解;超长字节的键会大大降低性能,若确实有大值存在,可以使用它的 HASH 值。
Redis Keys 是字符串类型,允许最大是 512 MB。
Redis 4.x系列(五):Redis 数据类型之Hash、HyperLogLog、Geo
Hash:表示字符串字段和字符串值之间的映射关系,因此 Hash 对于存储对象是一种完美的数据类型。
HyperLogLog:在需要唯一计数
的数据处理场景中使用,用于统计元数的个数,而不需获取数据的内容,性能高消耗内存低。
Geo:用于存储和查询与地理位置相关的位标(GPS经纬度),提供的 API 非常方便地计算位标距离和获取距离范围内的成员。
Redis 4.x系列(四):Redis 数据类型之Set、Sorted Set
Set集合类型,是一个无序的,不可重复的字符串集合,可以快速测试成员在集合中是否存在,重复项删除和集合运算(求并、交、差集) 。Set 集合中最大成员数量为 2 的 32 次方减 1(4294967295)
Redis 4.x系列(三):Redis 数据类型之String、List
Redis 与关系数据库不同,不是以表的模式来存储数据,无法使用 SQL 来操作 Redis 数据,而是直接使用 API 发送命令来操作目标数据。
Redis 支持的数据类型与不同与关系数据库, Redis 支持的数据类型有String, List, Set, Hash, Sorted set, Bitmap, HyperLogLog, 具体使用参考Redis 数据类型, 官网:介绍 Redis 数据类型和抽象。
Redis 4.x系列(二):Redis 在 Linux 快速安装
建议将 Redis 部署到 Linux 服务器上,安装非常简单。 在 Linux 环境更接近生产环境,也可以更熟悉的使用 Linux 命令。
在Windows 上可安装 RedisDesktopManager 客户端来直观的查看存储在 Redis 中的数据。
Redis 在现在互联网应用中已非常流行,在整个缓存技术领域占了很大的比重,大的互联网应用甚至部署上千个 Redis 实例。
Spring Boot 2系列(三十二):Spring Boot 配置文件密码加密两种方案
Spring Boot 项目常把连接数据库的密码明文放在配置文件里,这是非常不安全的,数据是IT企业的核心资产,即使应用服务器被玫击破坏也不能影响到数据库中的数据,更不能因为明文密码被窃取而导致数据库被随意连接和不安全操作的可能存在,所以需要对密码进行加密来增加安全性。
介绍两种加密方式:jasypt 可加密配置文件中所有属性值; druid 自带了加解密,可对数据库密码进行加密。