1.NoSql 概述
1.1 NoSql 是什么?
not only sql 泛指非关系型的数据库
1.2 为什么要使用NoSql?
随着互联网web2.0网站的兴起,传统的关系数据库在处理web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,出现了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,特别是大数据应用难题。
如: 高并发读写 新浪微博,朋友圈,统计在线人数 等。
如: 海量数据的高效率存储和读写 每天海量用户访问,商品访问,腾讯用户登陆 等。
如: 高扩展性和高可用性 24小时访问的不间断服务网站,升级和维护比较麻烦 。
1.3 主流的NoSql产品
1.4 NoSql数据库的四大分类
1.5 NoSql的特点
1. 易扩展
去掉了关系型数据库的关系,数据之间没有关系
2. 灵活的数据类型
对于大数据量和高性能的读写非常灵活,不需要对存储的数据建立字段。
3. 大数据高性能
对于大量数据具有非常高读写性能
4. 高可用
不影响性能的情况下,可以使用高可用的框架
1.6 NoSql 应用场景
目前NoSql不能完全替代关系型数据库,只能替代部分功能。
关系型数据库和非关系型数据库结合使用完成项目。
1. 数据模型比较简单
2. 对数据库性能要求较高。(Nosql数据库作为缓存工具)
3. 不需要高度的数据一致性。
2.Redis 概述
2.1 Redis是什么?
redis是一个基于key-value形式进行存储的内存型数据库。
2.2 Redis 支持的值value的数据类型
String(字符串),hash(哈希), list(列表), Set(集合),ZSet(有序集合)
这些数据类型都支持push/pop、add/remove及取交集并集和差集
及更丰富的操作,而且这些操作都是原子性的.
2.3 Redis优缺点
优点:
1:性能极高,对海量数据的高效率存储和访问 (每秒可以读11万次/s 写:8万次/s)
2:对数据高并发读写
缺点:
1:Redis的ACID处理非常简单。
ACID:事务的四大特性。原子性,一致性,隔离性,持久性。
2:无法做到太复杂的关系数据库模型。
2.4 Redis 定位
Nosql数据库软件。缓存数据库,数据缓存工具。
3.Redis3.0 安装(Linux环境)
3.1:下载redis Redis官网:https://redis.io/
3.2:安装gcc (C语言的编译环境)
yum install gcc
如果通过yum安装源出现如下错误
原因:2020年11月30日开始 centos6各大开源镜像站已经停止维护了。需要配置阿里云镜像。解决方式:
1、通过执行如下命令修改fastestmirror.conf的配置参数
sed -i “s|enabled=1|enabled=0|g” /etc/yum/pluginconf.d/fastestmirror.conf
2、备份文件
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
3.国内建议使用阿里云镜像,执行如下
curl -o /etc/yum.repos.d/CentOS-Base.repo https://www.xmpan.com/Centos-6-Vault-Aliyun.repo
3.3.将下载好redis上传到linux服务器 /usr/local/tmp
3.4: 解压Redis到当前目录下/usr/local/tmp
tar -zxvf redis-3.0.0.tar.gz
3.5: 将解压后的Redis移动到 /usr/local/redis
mv redis-3.0.0 /usr/local/redis
3.6: 进入到/usr/local/redis目录下,进行编译
make
3.7:创建2个文件夹存放命令和配置文件
创建etc文件夹存放配置文件:mkdir -p /usr/local/redis/etc
创建bin文件夹存放redis命令:mkdir -p /usr/local/redis/bin
3.8: 将redis目录下redis.conf 移动到 /usr/local/redis/etc
mv redis.conf /usr/local/redis/etc
3.9:将redis/src目录下的redis的命令移动到 redis/bin目录下
mkreleasehdr.sh redis-benchmark redis-check-aof
redis-check-dump redis-cli redis-server
mv mkreleasehdr.sh redis-benchmark redis-check-aof
redis-check-dump redis-cli redis-server /usr/local/redis/bin
3.10: 启动redis服务器并指定配置文件
1.设置后台启动:修改redis.conf里面 将daemonize no–>yes
vim redis.conf
2.进入到redis/bin目录下,启动redis服务器
./redis-server /usr/local/redis/etc/redis.conf
3.11: 启动客户端
./redis-cli
-
关闭redis客户端,服务端的命令
4.1 退出客户端
quit 或 Ctrl+C4.2查看是否有redis服务和端口
ps -ef |grep redis
4.3 退出Redis服务器
1: /usr/local/redis/bin/redis-cli shutdown
2: kill 进程号
3: pkill redis.server