今天来学习一下Redis,我目前的工作中接触到Redis的地方就是使用Redis作为分布式锁,接触的地方不是很多,但是Redis作为分布式架构中很重要的一部分,是我们不得不努力学习,深入理解的一部分内容,希望小伙伴们学习以后,不会再对Redis的问题感到迷茫胆怯。
NOSQL
不知道小伙伴们有没有了解过Mysql,像一般的Mysql、Oracle等数据库都被称为关系型数据库,而像Redis就被称为NOSQL(Not Only SQL)非关系型数据库,那么关系型数据库与非关系型数据库又有什么区别呢?
我个人理解NOSQL与RDBMS(Relational Database Management System)关系数据库管理系统的区别在于数据存储的结构不同,关系型数据库的分类不是很多,但是像NOSQL的类型就很多,例如适用于保存文档类型的MongoDB、以KV键值对主要存储方式查询写入效率极高的Redis,他们作用于不同领域。所以功能上是不冲突的,一般企业级开发都是关系型数据库与非关系型数据库并用。
Redis安装
Windows系统安装Redis
1.下载安装包
https://github.com/microsoftarchive/redis/tags
点击Downloads进入下载页面
下滑看到下载列表中选择zip包点击进行下载
2.解压zip包获得文件夹
3. 启动redis服务
文件夹内文件如下图
4.启动服务端成功,显示如下
5.启动redis客户端
上图服务端启动后不要关闭,接着启动客户端
6.客户端启动成功
7.测试客户端是否连接成功
在客户端输入ping命令,返回PONG则成功
Linux安装Redis
默认有Linux系统,没有的同学可以去租一个阿里云或腾讯的云服务器哈
1.下载安装包
2.下载完毕的安装包移动到服务器的/opt/redis目录下(一般程序建议放在opt目录下)
3.移动到该目录下
# 移动到/opt/redis目录下
cd /opt/redis
# 展示该目录下的文件
ls
4.解压redis
# 解压安装包
tar -zxvf redis-6.2.6.tar.gz
解压完成出现文件
5.查看redis文件
# 进入redis文件
cd redis-6.2.6/
# 展示redis文件目录
ls
6.基本的环境安装
由于Redis是基于C++语言开发的,所以我们需要安装C++的编译器
# 安装C++编译器
yum install gcc-c++
本人安装命令报错,报错信息如下
[root@VM-16-12-centos redis-6.2.6]# yum install gcc-c++
error: rpmdb: BDB0113 Thread/process 31977/140352576505920 failed: BDB1507 Threa d died in Berkeley DB library
error: db5 error(-30973) from dbenv->failchk: BDB0087 DB_RUNRECOVERY: Fatal erro r, run database recovery
error: cannot open Packages index using db5 - (-30973)
error: cannot open Packages database in /var/lib/rpm
CRITICAL:yum.main:
Error: rpmdb open failed
解决办法:重新构建rpm数据库
[root@VM-16-12-centos ~]# cd /var/lib/rpm
[root@VM-16-12-centos rpm]# rm -rf __db*
[root@VM-16-12-centos rpm]# rpm --rebuilddb
C++编译器安装完毕如下
安装完成后检查C++安装包是否安装成功
# 查看C++编译器版本
gcc -v
7.配置文件
# 在redis文件夹内执行make命令配置文件
make
# 确认配置(非必须执行)
make install
8.查看redis安装后文件
# 进入/usr/local/bin文件夹内(因为Linux默认安装进此文件夹)
cd /usr/local/bin
# 展示文件目录
ls
我们就可以看见redis的文件了
9.对Redis配置文件进行备份并修改(目的是保留一份原始的配置文件备用)
# 创建文件夹
mkdir redisConfig
# 拷贝redis.conf文件到此文件夹
cp /opt/redis/redis-6.2.6/redis.conf redisConfig
我们可以通过命令修改redis配置文件(如果要开启远程连接,一定不要使用默认端口,并且要添加密码,网上病毒很多,就是通过这种默认端口号对你的服务器进行攻击,我已经重置一次系统了,所以来提醒一下正准备下载的小伙伴,切记!!)
# 移动到redisConfig文件目录下
cd /usr/local/bin/redisConfig/
# 编辑redis.conf文件
vim redis.conf
# 进入编辑模式
i
找到 daemonize no 的地方,表示默认不是后台启动的,我们要修改成yes
# 如下两个是用来开启远程连接的
找到bind 127.0.0.1 的地方,表示绑定到本机,需要进行注释
找到protected-mode yes 的地方,表示受保护的,改为no
# vim可以通过/(向下查找)或?(向上查找)
查找requirepass 可以设置密码
# 修改完成Esc退出编辑模式
# 保存修改并退出
:wq
10.启动redis服务
# 启动redis-server 基于redisConfig/redis.conf配置文件启动
redis-server redisConfig/redis.conf
# 启动redis-cli 基于6379端口
redis-cli -p 6379
# 测试联通
ping
# 如果在修改配置文件前已经启动了服务
# 可以在客户端内执行命令,使用更新后的配置文件
save
11.关闭Redis客户端
# 停止客户端服务
shutdown
# 退出客户端
exit
----------------------------------
#退出但不关闭
quit
12.查看Redis进程
# 注意此命令需要在Linux命令行执行,不要在Redis客户端内执行
ps -ef|grep redis
13.进行远程连接
因为我的linux连接工具总是断,我这边就使用远程连接工具进行Redis的连接了。
有需要的小伙伴可以网上自行查询下载,或者私信我发你安装包
连接后就可以远程连接使用Redis数据库了。
14.指定redisLog文件(用于记录错误信息)
# 在/usr/local/bin目录下创建记录log的文件
touch redis-log.log
# 查看该文件的权限
ll
# 修改该文件的权限为最高权限
chmod 777 redis-log.log
# 进入redis.conf文件
vim redis.conf
# 编辑
i
下拉找到logfile
将值修改为/usr/local/bin/redis-log.log
Esc退出编辑
:wq保存配置
之后我们就可以在此文件中查看redis的打印log日志了
15.常用测试网络命令
# 查看远程主机是否可以通信
ping 主机地址
# 查看远程主机端口是否可以通信
telnet 主机地址 端口号
# 查看本机IP地址,其中IPV4地址就是本机IP地址
ipconfig
安装完Redis后我们就要开始学习Redis的使用了,下一篇请戳↓