分类目录归档:云计算

Redis常见面试题


Redis综述篇:与面试官彻夜长谈Redis缓存、持久化、淘汰机制、哨兵、集群底层原理!

一、Redis基本概念

  • 面试官心理: 靠!手上活都没干完又叫我过来面试,这不耽误我事么,今儿又得加班补活了........咦,这小伙子简历不错啊,先考考它Redis..........
  • 面试官: 谈谈你对Redis的理解?
  • 我: RedisANSI C语言编写的一个基于内存的高性能键值对(key-value)的NoSQL数据库,一般用于架设在Java程序与数据库之间用作缓存层,为了防止DB磁盘IO效率过低造成的请求阻塞、响应缓慢等问题,用来弥补DB与Java程序之间的性能差距,同时,也可以在DB...

Read more

MySQL变量


变量

系统变量

系统变量分类

系统变量分为全局系统变量(需要添加global关键字)以及会话系统变量(需要添加session关键字),有时也把全局系统变量简称为全局变量,有时也把会话系统变量称为local变量。如果不写,默认会话级别。静态变量(在 MySQL 服务实例运行期间它们的值不能使用 set 动态修改)属于特殊的全局系统变量。

  • 全局系统变量针对于所有会话(连接)有效,但不能跨重启

  • 会话系统变量仅针对于当前会话(连接)有效。会话期间,当前会话对某个会话系统变量值的修改,不会影响其他会话同一个会话系统变量的值。

  • 会话1对某个全局系统变量值的修改会导致会话2中同一个全局系...

Read more

MySQL安装补充


Ubuntu22.04安装并配置MySQL

1.安装MySQL

# a.运行以下命令,安装MySQL
sudo apt -y install mysql-server

# b.运行以下命令,查看MySQL版本。
mysql -V
mysql  Ver 8.0.39-0ubuntu0.22.04.1 for Linux on x86_64 ((Ubuntu))

2.启动MySQL服务

sudo systemctl start mysql

3.设置开机启动MySQL

sudo systemctl enable mysql
sudo systemctl daemon-reload
...

Read more

MySQL二进制安装


1.下载mysql

MySQL社区版下载

https://downloads.mysql.com/archives/community/

image20200223135527926.png

2.二进制安装

2.1指定安装

将mysql安装到/usr/local/mysql目录中:

# Centos7安装依赖
yum install -y libaio libaio-devel ncurses ncurses-devel openssl openssl-devel

# Ubuntu22.04 安装依赖
sudo apt update
sudo apt install -y libaio1 libaio-dev libtinfo5 l...

Read more

MySQL管理


MySQL 管理

1 系统数据库

Mysql 数据库安装完成后,自带了一下四个数据库,具体作用如下:

数据库 含义
mysql 存储 MySQL 服务器正常运行所需要的各种信息 (时区、主从、用 户、权限等)
information_schema 提供了访问数据库元数据的各种表和视图,包含数据库、表、字段类 型及访问权限等
performance_schema 为 MySQL 服务器运行时状态提供了一个底层监控功能,主要用于收集 数据库服务器性能参数
sys 包含了一系列方便 DBA 和开发人员利用 performance_schema 性能数据库进行性能调优和...

Read more

MySQL优化


SQL 优化

1.插入数据

  • 批量插入数据
insert into table values(col1,col2),(col1,col2);
  • 手动控制事务
start transaction;
...
commit
  • 主键顺序插入
1,2,3,4,5,78,99
  • 大批量插入
-- 客户端连接服务端时,加上参数 -–local-infile
mysql –-local-infile -u root -p

-- 设置全局参数local_infile为1,开启从本地加载文件导入数据的开关
set global local_infile = 1;

-- 执行load指...

Read more

MongoDB安全与权限管理


四、MongoDB安全与权限管理

通常为了保证数据安全性,Redis、MySQL、MQ、ES……,通常都会配置账号/密码,一来可以提高安全等级,二来还可以针对不同库、操作设置权限,极大程度上降低了数据的安全风险。同样,在MongoDB中也支持创建账号、密码,以及分配权限,并且还支持角色的概念,可以先为角色分配权限,再为用户绑定角色,从而节省大量重复的权限分配工作。

同时,MongoDB中还内置了大量常用角色,方便于咱们快速分配权限,不过并没有默认的账号,所以想要启用MongoDB的访问控制,还需要先创建一个账号:

// 切换到admin数据库
use admin;
// 创建一个用户,并...

Read more

MongoDB索引机制


三、MongoDB索引机制

任何数据库都有索引这一核心功能,MongoDB自然不例外,而且MongoDB在索引方面特别完善,毕竟作为数据库领域的后起之秀,它集百家之长,将“借鉴”这一思想发挥到了极致,先来看看MongoDB索引的概念词:

单列索引、组合索引、唯一索引、全文索引、哈希索引、空间(地理位置)索引、稀疏索引、TTL索引……

怎么样?相信看过MySQL索引这篇文章的小伙伴一定眼熟,其中的索引名词和MySQL十分相似,接下来咱们挨个接触一下,当然,这里也先给出官方文档地址:MongoDB索引机制。

PS:早版本的MongoDB中,索引底层默认使用B-Tree结构,而4.x版本...

Read more

MongoDB数据操作


二、MongoDB渐悉

下次再次从CRUD操作开始,对MongoDB的命令建立全面认知,先来看看新增/插入操作。

2.1、新增操作

MongoDB中提供了三个显式向集合插入数据的方法:

// 向集合插入单条或多条数据(需要用[]来包裹多个文档)
db.xiong_mao.insert([
{_id:4,name:"黑熊",age:3,food:{name:"黄金竹",grade:"S"}},
{_id:5,name:"白熊",age:4,food:{name:"翠绿竹",grade:&qu...

Read more

MongoDB简介与安装


MongoDB

引言

在早期的程序开发过程中,单体+MySQL足以应对业务需求,可随着业务不断发展,系统架构演变成分布式,而数据存储的需求亦是多样化,单纯依赖于MySQL或其他某一款关系型数据库,再也难以支撑系统的存储需求,于是,现如今一个复杂系统中,可能会牵扯到MySQL、Redis、ES、MongoDB、FastDFS、CDH……多种数据存储产品,根据不同的业务特性、响应要求,会将数据存储在不同组件中以满足系统需要。

MongoDB是数据库家族中的一员,是一款专为扩展性、高性能和高可用而设计的数据库,它可以从单节点部署扩展到大型、复杂的多数据中心架构,也能提供高性能的数据读写操作;而...

Read more