Redis的介绍与安装
一:NoSQL数据库概述
NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库。
NoSQL 不依赖业务逻辑方式存储,而以简单的key-value模式存储。因此大大的增加了数据库的扩展能力。
● 不遵循SQL标准。
● 不支持ACID。
● 远超于SQL的性能。
一、适用场景
- 数据高并发的读写
- 海量数据的读写
- 对扩展性要求高的数据
二、不适用场景
- 需要事务支持(非关系型数据库)
- 基于sql结构化查询储存,关系复杂
二:Redis概述
2.1、Redis简介
Redis官网:https://redis.io/
Redis 是完全开源的,遵守 BSD 协议,是一个高性能的 key-value 数据库。
Redis 与其他 key - value 缓存产品有以下三个特点:
● Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候 可以再次加载进行使用。
● Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
● Redis支持数据的备份,即master-slave模式的数据备份。
默认16个数据库,类似数组下标从0开始,初始默认使用0号库
使用命令 select 来切换数据库。如: select 8
统一密码管理,所有库同样密码。
dbsize查看当前数据库的key的数量
flushdb清空当前库
flushall通杀全部库
2.1、Redis的优势
● 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
● 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
● 原子 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。
● 丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。
● Redis是单线程+多路IO复用技术。
2.3、Redis与其他key-value存储有什么不同?
● Redis有着更为复杂的数据结构并且提供对他们的原子性操作,这是一个不同于其他数据库的进化路径。Redis的数据类型都是基于基本数据结构的同时对程序员透明,无需进行额外的抽象。
● Redis运行在内存中但是可以持久化到磁盘,所以在对不同数据集进行高速读写时需要权衡内存,因为数据量不能大于硬件内存。在内存数据库方面的另一个优点是,相比在磁盘上相同的复杂的数据结构,在内存中操作起来非常简单,这样Redis可以做很多内部复杂性很强的事情。同时,在磁盘格式方面他们是紧凑的以追加的方式产生的,因为他们并不需要进行随机访问。
三:Redis应用场景
(1) 缓存(数据查询,短连接,新闻内容,商品内容等),使用最多
(2) 聊天室在线好友列表
(3) 任务队列(秒杀,抢购,12306等)
(4) 应用排行榜
(5) 网站访问统计
(6) 数据过期处理(可以精确到毫秒)
(7) 分布式集群架构,解决session问题
四:安装Redis(Linux环境下)
4.1、安装C 语言的编译环境
yum install centos-release-scl scl-utils-build
yum install -y devtoolset-8-toolchain
scl enable devtoolset-8 bash
4.2、解压安装包
这⾥下载的是 redis-5.0.8.tar.gz 安装包,并将其直接放在了 root ⽬录下
1、在 /usr/local/ 下创建 redis ⽂件夹并进⼊
cd /usr/local/
mkdir redis
cd redis
2、将 Redis 安装包解压到 /usr/local/redis 中即可
[root@localhost redis]# tar zxvf /root/redis-5.0.8.tar.gz -C ./
解压完之后, /usr/local/redis ⽬录中会出现⼀个 redis-5.0.8 的⽬录
4.3、编译并安装
cd redis-5.0.8/
make && make install
4.4、将 REDIS 安装为系统服务并后台启动
[root@localhost redis-5.0.8]# cd utils/
[root@localhost utils]# ./install_server.sh
这样会很方便的进行配置
此处我全部选择的默认配置即可,有需要可以按需定制
4.5、查看REDIS服务启动情况
直接执⾏如下命令来查看Redis的启动结果:
启动REDIS客户端并测试
systemctl status redis_6379.service
4.6、启动REDIS客户端并测试
启动⾃带的 redis-cli 客户端,测试通过:
但是此时只能在本地访问,⽆法远程连接,因此还需要做部分设置
4.7、设置允许远程连接
编辑 redis 配置⽂件
vim /etc/redis/6379.conf
将 bind 127.0.0.1 修改为 0.0.0.0
然后重启 Redis 服务即可:
systemctl restart redis_6379.service
4.8、设置访问密码
编辑 redis 配置⽂件
vim /etc/redis/6379.conf
找到如下内容:
#requirepass foobared
去掉注释,将 foobared 修改为⾃⼰想要的密码,保存即可。
requirepass codesheep
保存,重启 Redis 服务即可
systemctl restart redis_6379.service
这样后续的访问需要先输⼊密码认证通过⽅可:
借鉴博主:CodeSheep
B站主页:https://space.bilibili.com/384068749