摘要:
面向对象设计原则 在进行软件开发时,不仅需要将基本的业务完成,还要考虑整个项目的可维护性和可复用性。 因此在编写代码时,应该尽可能的规范,不然随着项目的不断扩大,整体结构只会越来越遭。 为了避免这种情况的发生,应该尽量遵守面向对象设计原则。 设计原则 单一职责原则 单一职责原则(Simple Res 阅读全文
摘要:
概述 SpringBoot 整合 Redis 是使用 SpringData 实现的。 SpringData 是与 SpringBoot 齐名的顶级项目,整合了对常用数据库的模板型操作。 在 SpringBoot 2.x 之后,Jedis 被 Lettuce 替代了。 Jedis 采用的直连,多个线程 阅读全文
摘要:
概述 Jedis 是 Redis 官方推荐的 Java 连接开发工具。 Jedis 客户端同时支持单机模式、分片模式、集群模式的访问模式: 通过构建 Jedis 类对象实现单机模式下的数据访问。 通过构建 ShardedJedis 类对象实现分片模式的数据访问。 通过构建 JedisCluster 阅读全文
摘要:
使用缓存的问题 Redis 缓存的使用,极大的提升了应用程序的性能和效率,特别是数据查询方面。 但同时,它也带来了一些问题。其中,最要害的问题,就是数据的一致性问题,从严格意义上讲,这个问题无解。 如果对数据的一致性要求很高,那么就不能使用缓存。 另外的一些典型问题就是,缓存穿透、缓存雪崩和缓存击穿 阅读全文
摘要:
概述 主从切换技术的操作是:当主机宕机后,需要手动把一台从机切换为主机。 这就需要人工干预,费事费力,还会造成一段时间内服务不可用。 这不是一种推荐的方式,更多时候,我们优先考虑哨兵模式。 Redis 从 2.8 开始正式提供了 Sentinel(哨兵) 架构来解决这个问题。 它是“谋朝篡位”的自动 阅读全文
摘要:
概述 主从复制,是指将一台 Redis 服务器的数据,复制到其他的 Redis 服务器 前者称为主节点(master / leader),后者称为从节点(slave / follower)。 数据的复制是单向的,只能由主节点到从节点。 Master 以写为主,Slave 以读为主。 一个主节点可以有 阅读全文
摘要:
概述 Redis 发布订阅(pub / sub)是一种消息通信模式 发送者(pub)发送消息,订阅者(sub)接收消息。 Redis 客户端可以订阅任意数量的频道。 订阅/发布消息图: 频道和订阅频道的客户端之间的关系: 当有新消息通过 publish 命令发送给频道, 这个消息就会被发送给订阅它的 阅读全文
摘要:
概述 Redis 事务的本质是一组命令的集合 事务支持一次执行多个命令,一个事务中所有命令都会被序列化。 在事务执行过程,会按照顺序串行化执行队列中的命令,其他客户端提交的命令请求不会插入到事务执行命令序列中。 所以说:Redis 事务就是一次性、顺序性、排他性的执行一个队列中的一系列命令。 Red 阅读全文
摘要:
概述 Redis 是内存数据库,即数据存储在内存。 如果不将内存中的数据保存到磁盘,一旦服务器进程退出,服务器中的数据也会消失。 这样会造成巨大的损失,所以 Redis 提供了持久化功能。 RDB RDB,即 Redis DataBase 在指定的时间间隔内将内存中的数据集快照写入磁盘。 也就是 S 阅读全文
摘要:
基本配置 Redis 的配置文件位于 Redis 安装目录下,文件名为 redis.conf 在 Linux 中,可以使用 whereis redis 查找 Redis 的安装目录 [root@sail]# whereis redis redis: /usr/local/redis [root@sa 阅读全文