目录
一、Redis介绍
Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。有字符串,链表、哈希、集合和有序集合5种。支持在服务器端计算集合的并、交和补集(difference)等,还支持多种排序功能。所以Redis也可以被看成是一个数据结构服务器。Redis的所有数据都是保存在内存中,然后不定期的通过异步方式保存到磁盘上(这称为“半持久化模式”);也可以把每一次数据变化都写入到一个append only file(aof)里面(这称为“全持久化模式”)。
二、安装redis
环境配置
Redis是c开发的,因此安装redis需要c语言的编译环境,即需要安装gcc
如何查看是否安装gcc
gcc -v
如果没有gcc,则需要在线安装。命令如下
yum install gcc-c++
前端启动
网上直接下载redis,如果有本地安装包,直接上传即可
$ wget https://download.redis.io/releases/redis-6.2.5.tar.gz
- // 如果没有安装wget,使用如下命令进行安装
- -bash: wget: command not found
- [root@localhost root123]# yum -y install wget
解压redis压缩包,解压命令如下
$ tar xzf redis-6.2.5.tar.gz //解压安装包
提取和编译Redis:查看是否存在Makefile文件,存在则直接make编译redis源码
$ cd redis-6.2.5 //进入加压文件夹
$ make //编译
如下,则编译成功
进入src目录,启动redis
$ ./redis-server
不要关闭当前窗口,克隆一个新的窗口,在src目录下运行./redis-cli命令登陆redis,接下来我们就可以使用redis了。
注:通过以上步骤,就可以启动redis了,但是,这样的redis是前台启动,一旦我们关闭窗口,redis也就关闭了,所以需要改成后台启动redis.
官网的安装教程:Redis
附:安装redis到指定目录
安装编译后的redis代码到指定目录,一般存放于/usr/local下的redis目录,指令如下
make install PREFIX=/usr/local/redis
如下图所示,则说明安装成功
查看/user/local目录,可以发现多了一个redis目录
查看redis目录下的bin目录里面的文件,如下
注:至此,可以启动redis了,默认启动模式为前端启动。为了方便找文件,也可以把配置文件放到/usr/local/redis目录下,后台启动时会用到配置文件。
后台启动
修改redis解压文件里面的redis.conf文件,将daemonize no -> daemonize yes,这样便将启动方式修改为后台启动了。
// vim redis.conf
进入src目录,启动redis -> 后台启动(指定配置文件)
[root@localhost src]# ./redis-server /home/root123/redis-6.2.5/redis.conf
注:也可以把配置文件copy到其他更简洁的目录下,比如/usr/local/redis
查看redis是否在运行,指令如下
ps -ef|grep redis
进入src目录,打开redis连接,操作redis
[root@localhost src]# ./redis-cli
127.0.0.1:6379> ttl message //查看数据的有效期限
(integer) -1 //-1代表永久有效,-2该数据不存在,大于0,有效期为当前数字秒
127.0.0.1:6379> EXISTS message //判断key是否存在
(integer) 1
127.0.0.1:6379> get message
"hello redis"
127.0.0.1:6379> quit
注:redis默认开启保护模式,同时也默认只能本机连接,如果需要远程进行连接还需要修改相关配置
参考文章:
非本地连接,禁用保护模式
安装本地可视化工具,使用远程客户端连接redis。本次使用的是开源客户端:Another-Redis-Desktop-Manager
- redis可视化工具有哪些?
- https://www.jb51.net/article/208969.htm
redis默认启动保护模式,只能本机进行连接,在没有修改配置的情况下,禁止远程客户端连接。
修该配置文件redis.conf:(1)更改bind 参数为 0.0.0.0;(2)禁用保护模式
// vim redis.conf
配置参数
# 任意地址都可以连接
bind 0.0.0.0
# 关闭保护模式,默认启用保护模式。你应该禁用它,当你想从其他主机连接到Redis
protected-mode no
对于Redis中bind的正确的理解是:
- bind:是绑定本机的IP地址,(准确的是:本机的网卡对应的IP地址,每一个网卡都有一个IP地址),而不是redis允许来自其他计算机的IP地址。
- 如果我们想限制只有指定的主机可以连接到redis中,我们只能通过防火墙来控制,而不能通过redis中的bind参数来限制。
连接成功
关于bind参数的理解:
免费开源客户端,下载地址为:
gitee地址
git地址: