Redis——认识Redis

简单介绍

Redis诞生于2009年,全称是Remote Dictionary Server,远程词典服务器,是一个基于内存的键值型NoSQL数据库。

特征

  • 键值(Key-value)型,value支持多种不同数据结构,功能丰富
  • 单线程,每个命令具有原子性
  • 低延迟,速度快(基于内存,IO多路复用,良好的编码)
  • 支持数据的持久化
  • 支持主从集群和分片集群
  • 支持多语言客户端

安装Redis

对于Redis的安装,我们选择使用Linux作为环境进行安装,毕竟这种服务一经开发就是用作服务端,而服务端一般采用的操作系统就是Linux,所以我们选择直接安装在Linux上,省去了因为Windows的兼容问题到导致的出错。并且Redis的官方程序并没有支持Win版的格式,之前使用的Win版的Redis都是微软编译出来的。

我们使用的环境是CentOS7,所以在开始之前我们需要提前装好一个Linux的虚拟机,并保证虚拟机和宿主机之间可以互相ping通。

Redis的官网:雷迪斯 (redis.io)

然后,我们在官网找到下载界面,然后下载当前版本的最新版本:

我下载的时候,最新版本是7.2.0,然后下载好之后,他就是一个tar包,我们把这个tar包上传到Linux的虚拟机上:

先不着急解压,安装Redis的第一步是安装依赖,因为Redis是基于C语言编写的,所以在安装之前要先安装C语言的依赖:

yum install -y gcc tcl

解压Redis的tar包

tar -zxvf redis-7.2.0.tar.gz -C ../software

解压完成之后就是下面这样的

这个地方的软件安装路径可能不一样,这个就因人而异。

解压完成之后,我们需要进行一次编译,我们进入这个解压之后的目录:

make && make install

编译安装的过程会比较长,耐心等待即可。

默认的安装路径在`/usr/local/bin`目录下,我们可以来到这个目录看一下里面生成的文件:

这些文件中,比较重要的就是两个,一个是客户端一个是服务端。

redis-cli:是redis提供的命令行客户端

redis-server:是redis的服务端启动脚本

redis-sentinel:是redis的哨兵启动脚本

启动

前台启动

在刚才的编译安装的过程中,这些文件已经加入了环境变量中,也就是说我们在任何的位置都可以使用这个命令,最简单的启动命令就是直接运行这些脚本即可:

redis-server

当你看到这个redis的LOGO的时候,就表示这个Redis已经开始运行了。

这种方式叫做前台启动,这种启动方式会占用你的当前活动窗口,如果你要再启动一个客户端那你只能再次创建一个SSH连接才能再次开启一个活动窗口的方式去启动它。

指定配置文件启动

除了前台启动,还有一种方式叫做指定配置文件启动。

如果要让Redis以后台方式启动,则必须修改Redis的配置文件,就在我们之前解压的Redis安装包下,名字叫做redis.conf:

修改这个文件之前,首先对配置文件进行一个备份,防止因为错误操作而找不到原来的配置文件:

cp redis.conf redis.conf.bak

然后我们就可以去修改这个文件里面的内容了:

这个里面的内容非常的多,具体的修改的内容如下:

首先是bind的值:

# bind表示监听的地址,也就是允许访问的地址,默认的值就是127.0.0.1也就是只有本机才能访问,但是当我们在宿主机上 # 使用的时候就会造成很多的不便,这时候改成0.0.0.0就表示在任意的主机都可以访问这个Redis bind 0.0.0.0

然后是daemonize的值:

# 守护进程,默认值为no,设置为yes即可后台运行 # daemonize no daemonize yes

还有密码:

# 设置密码是为了保证安全性 requirepass 123456

以及其他的一些常见的配置:

# 监听的端口,端口号一般使用默认,但是如果端口号被其他的服务占用了就只能使用其他的端口号 port 6379 # 工作目录,默认是当前目录,也就是运行时候产生的日志,命令,持久化等都会保存在这个目录,默认是启动服务的目录 dir . # 数据库数量,设置为1,代表只使用1个库,默认有16个库,编号0-15 databases 1 # 设置redis能够使用的最大内存 maxmemory 512mb # 日志文件,默认为空,不记录日志,可以指定日志文件名,这里只写了文件名并没有写文件的路径,那么这个文件的路径默认就是和上面的dir路径是保持一致的。 logfile "redis.log"

然后就是带着配置文件启动,就是将配置文件的路径和文件名写在启动命令之后即可:

redis-server redis.conf

这次启动之后是不会有任何的结果出现在控制台上的,那么查看Redis有没有启动就要查看Linux的进程:

ps -ef | grep redis

可以看到已经存在一个Redis的进程,就说明Redis已经启动成功了:

然后如果你要停止Redis,那么就使用kill -9的杀死进程的命令即可。

开机自启

通过将Redis服务加入到系统服务中的方式实现开机自启。

首先要新建一个系统服务文件:

vim /etc/systemd/system/redis.service

文件的内容如下:

[Unit] Description=redis-server 
After=nerwork.target [Service] 
Type=forking 
ExecStart=/usr/local/bin/redis-server /home/morningstar/software/redis-7.2.0/redis.conf PrivateTmp=true 
[Install] 
WantedBy=multi-user.target

然后重新加载系统服务

systemctl daemon-reload

现在,我们就可以使用系统命令的方式查看Redis的状态,以及控制Redis的启停:

systemctl start redis systemctl status redis systemctl stop redis

注意,因为这个地方的启动和原来的进程启动有冲突,所以如果你没有关闭之前启动的Redis进程,则这里会报错,也就是这个绿色的点会变成红色,显示启动失败,但其实就是因为之前的Redis已经被启动了。

设置开机自启

systemctl enable redis

这样就可以设置开机自启了。

Redis客户端

命令行客户端

Redis安装完成之后就自带了命令行客户端:redis-cli,使用方式如下:

redis-cli [options] [commonds]

其中常见的options有:

  • -h 127.0.0.1:指定要连接的redis节点的IP地址,默认是127.0.0.1
  • -p 6379:指定要连接的redis节点的端口,默认是6379
  • -a 123456:指定redis的访问密码

其中commonds就是Redis的操作命令,例如:

  • ping:与Redis服务做心跳测试,服务端正常会返回pong

不指定commond时,会进入redis-cli的交互控制台:

在命令行中使用-a参数输入密码的方式会不安全,从而导致会出现一个警告,那么安全的做法是不使用密码登陆之后,在交互界面中校验密码:

使用AUTH命令校验密码,校验通过之后会出现一个【OK】,然后我们测试与服务器的连接则显示正常响应,如果在不使用密码进入交互命令行之后,不校验密码就进行操作,则会提示没有权限。

图形化客户端

对于Redis的图形化客户端,一般有使用Gethub上的项目,比如rdm,或者直接使用IDEA的客户端:

根据个人喜好选择即可。

猜你喜欢

转载自blog.csdn.net/hssjsh/article/details/132636259
今日推荐