1、NoSQL数据库简介
1.1 背景知识
Web1.0的时代,数据访问量很有限,用一夫当关的高性能的单点服务器可以解决大部分问题。
随着Web2.0的时代的到来,用户访问量大幅度提升,同时产生了大量的用户数据。加上后来的智能移动设备的普及,所有的互联网平台都面临了巨大的性能挑战。
解决CPU及内存压力的解决方案
解决IO压力的解决方案
1.2 NoSQL数据库
NoSQL(not only sql),泛指非关系型数据库,解决的是性能问题,它与关系型数据库最大的区别在于,它的存储模式是key-value,极大的增加了数据库的扩展能力
特点
- 不遵循SQL标准
- 不支持ACID
- 远超于SQL的性能
适用场景
- 对数据高并发的读写
- 海量数据的读写
- 对数据高可扩展性的读写
不适用场景
- 需要事务支持
- 基于sql的结构化查询存储,处理复杂的关系
现在都有哪些NoSQL?
- Redis
- MongoDB
- Memcache
1.3 Redis概述
Redis是一个开源的key-value存储系统。
和Memcache类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。
这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的,在此基础上,Redis支持各种不同方式的排序。
与memcache一样,为了保证效率,数据都是缓存在内存中,区别是Redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
2、Redis初体验
2.1、安装Redis
-
去官网(https://redis.io/)下载最新版的redis(只有Linux环境下的redis)
-
准备工作
-
测试Linux里是否有gcc编译器
gcc --version
-
若没有,则安装gcc
yum install gcc
有gcc的结果为:
-
-
将下载完成的redis-6.2.5.tar.gz放至/opt目录下
mv redis-6.2.5.tar.gz /opt
-
解压redis-6.2.5.tar.gz
tar -zxvf redis-6.2.5.tar.gz
-
解压完成后进入redis-6.2.5目录,执行make命令(编译)
cd /opt/redis-6.2.5
make
若没报错,安装完成后的结果:
-
跳过make test,继续执行:
make install
显示如下,即安装成功
-
安装目录:/usr/local/bin
查看默认安装目录:
ls /usr/local/bin
redis-benchmark:性能测试工具,可以在自己本子运行,看看自己本子性能如何
redis-check-aof:修复有问题的AOF文件,rdb和aof后面讲
redis-check-dump:修复有问题的dump.rdb文件
redis-sentinel:Redis集群使用
redis-server:Redis服务器启动命令
redis-cli:客户端,操作入口
2.2、启动Redis
两种启动:
1)前台启动(不推荐)
redis-server
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eylxdvjY-1631931248310)(Redis.assets/image-20210815231652245-16290406154901.png)]
2)后台启动(推荐)
-
备份redis.conf
-
后台启动设置daemonize为yes
-
在安装目录下使用如下命令启动
cd /usr/local/bin
redis-server /etc/redis.conf
-
客户端访问
redis-cli
-
测试验证
ping
2.3、关闭Redis
两种方式:
1)单实例关闭
redis-cli shutdown
2)进入终端再关闭
shutdown
2.4、Redis介绍
端口:6379
数据库:16个,默认使用0
单线程+多路IO复用技术
常用指令:
- dbsize 查看当前数据库key的数量
- flushdb 清空当前库
- flushall 通杀全部库