摘要: 悲观锁:当要对数据库中的一条数据进行修改的时候,为了避免同时被其他人修改,最好的办法就是直接对该数据进行加锁以防止并发。这种借助数据库锁机制,在修改数据之前先锁定,再修改的方式被称之为悲观并发控制。 悲观锁具有强烈的独占和排他特性。 乐观锁:乐观锁是相对悲观锁而言的,乐观锁假设数据一般情况下不会造成 阅读全文
posted @ 2021-02-24 08:54 huige185 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 前言 Redis的发布与订阅模型在许多编程语言中都有实现,也就是我们常说的设计模式中的一种——观察者模式。在一些应用场合,例如发送方不是以固定频率发送消息,如果接收方频繁去资讯发布方,这种操作无疑是很麻烦并且不友好的。 而订阅发布模型,订阅者只需要订阅注册某个频道就好了,当有消息发送过来的时候,会通 阅读全文
posted @ 2021-02-24 08:53 huige185 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 前言 Redis集群解决了写操作无法负载均衡,以及存储能力受单机限制等问题,实现了较为完善的高可用方案。 一、集群的作用 Redis集群,即 Redis cluster,是Redis3.0开始引入的分布式存储方案。 集群由多个节点(node)组成,Redis的数据分布在这些节点中。集群中的节点分为主 阅读全文
posted @ 2021-02-24 08:52 huige185 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 前言 Redis缓存的使用,极大的提升了应用程序的性能和效率,特别是数据查询方面。但同时,它也带来了一些问题,就是数据的一致性问题,从严格意义上来说,这个问题无解。如果对数据一致性要求很高,那么就不能使用缓存。 另外的一些典型问题就是,缓存穿透、缓存击穿和缓存雪崩。 一、缓存穿透 概念 缓存穿透指的 阅读全文
posted @ 2021-02-24 08:50 huige185 阅读(75) 评论(0) 推荐(0) 编辑
摘要: 前言 Redis是一个内存数据库,数据保存在内存中,但是内存数据库变化是非常快的,也容易发生数据丢失。而Redis为我们提供了两种持久化机制:RDB(Redis DataBases)和AOF(Append Only File)。 一、持久化流程 Redis持久化需要下面5个过程: 1. 客户端向服务 阅读全文
posted @ 2021-02-24 08:48 huige185 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 一、Redis简介 Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, b 阅读全文
posted @ 2021-02-23 11:07 huige185 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 一、Redis简介 Redis是完全开源的,遵守BSD协议,是一个高性能的key-value数据库。 Redis 与其他 key - value 缓存产品有以下三个特点: 1)Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。 2)Redis不仅仅支持简单的 阅读全文
posted @ 2021-02-23 11:04 huige185 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 说明 本实例环境为:VMware虚拟机centos7系统,安装社区版MongoDB4.4.4。 配置程序包管理系统(使用yum安装) 创建一个 /etc/yum.repos.d/mongodb-org-4.4.repo 文件,以便使用yum命令直接安装MongoDB: [root@localhost 阅读全文
posted @ 2021-02-19 18:29 huige185 阅读(466) 评论(0) 推荐(0) 编辑
摘要: 一、账户与安全 1)用户创建和授权 MySQL8.0创建用户和授权用户的命令需要分开执行: 创建用户: create user '用户名'@'host' identified by '密码'; 授权用户: grant 权限列表 privileges on 数据库.数据表 to '用户名'@'host 阅读全文
posted @ 2021-01-26 15:40 huige185 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 在工作中,饿哦们用于捕捉性能问题最常见的就是打开慢查询,定位执行效率差的SQL,那么当我们定位到一个SQL以后还不算完事,我们还需要知道SQL的执行计划,比如是全表扫描,还是索引扫描,我们创建的索引是否被MySQL优化器使用到等,这些都需要通过explain去完成。explain命令是查看优化器如何 阅读全文
posted @ 2020-12-14 15:48 huige185 阅读(84) 评论(0) 推荐(0) 编辑