提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
关系数据库 与 非关系型数据库
关系数据库
关系型数据库是一个结构化的数据库,创建在关系模型(二维表格模型)基础上,数据保存在磁盘中;
主流的关系型数据库包括 Oracle、MySQL、SQL Server、Microsoft Access、DB2。
非关系数据库
NoSQL (NoSQL = Not Only SQL ),意思是“不仅仅是 SQL”,是非关系型数据库的总称;
主流的 NoSQL 数据库有 Redis、MongBD、Hbase、MemberCache、Postgresql。
区别
关系型:依赖于关系模型 E-R 图,同时以表格式的方式存储数据;
非关系型:除了以表格形式存储外,通常会以大块的形式组合在一起进行存储数据;
非关系型数据库
High performance —— 对数据库高并发读写需求;
Huge Storage ——对海量数据高效存储与访问需求;
High Scalability && High Availability —— 对数据库高可扩展性与高可用性需求
是应对三高所选择的非关系数据库
两者数据库小结
关系型数据库:
实例(具体的对象)→ 数据库 → 表(table) → 记录行(row)、数据字段(column) → 存储数据
非关系型数据库:
实例 → 数据库 → 集合(collection) → 键值对(key-value)
Redis 安装部署
systemctl stop firewalld #关闭防火墙
setenforce 0
yum install -y gcc gcc-c++ make
tar zxvf redis-5.0.7.tar.gz -C /opt/#解压
cd /opt/redis-5.0.7/
make && make PREFIX=/usr/local/redis install#编译
进入目录
运行脚本
cd /opt/redis-5.0.7/utils
./install_server.sh
Selected config:
Port : 6379 #默认侦听端口为6379
Config file : /etc/redis/6379.conf #配置文件路径
Log file : /var/log/redis_6379.log #日志文件路径
Data dir : /var/lib/redis/6379 #数据文件路径
Executable : /usr/local/redis/bin/redis-server #可执行文件路径
Cli Executable : /usr/local/bin/redis-cli #客户端命令工具
vim /etc/redis/6379.conf
Redis 基础命令
redis-server 用于启动 Redis 的工具
redis-benchmark 用于检测 Redis 在本机的运行效率
redis-check-aof 修复 AOF 持久化文件
redis-check-rdb 修复 RDB 持久化文件
redis-cli Redis命令行工具
Redis 数据库常用命令
del h1 删除键
exists teacher
Redis 多数据库常用命令
127.0.0.1:6379> select 10 #切换至序号为 10 的数据库
127.0.0.1:6379[10]> select 15 #切换至序号为 15 的数据库
127.0.0.1:6379[15]> select 0 #切换至序号为 0 的数据库
格式:move 键值 序号
例:
set lic kiki
get lic
select 5
get lic
select 0
move lic 5
get lic
select 5
get lic
清除数据库内数据
FLUSHDB :清空当前数据库数据
FLUSHALL :清空所有数据库的数据,慎用!
Redis 高可用
在web服务器中,高可用是指服务器可以正常访问的时间,衡量的标准是在多长时间内可以提供正常服务(99.9%、99.99%、99.999%等等)。
但是在Redis语境中,高可用的含义似乎要宽泛一些,除了保证提供正常服务(如主从分离、快速容灾技术),还需要考虑数据容量的扩展、数据安全不会丢失等。
在Redis中,实现高可用的技术主要包括持久化、主从复制、哨兵和集群,下面分别说明它们的作用,以及解决了什么样的问题。