240
生活,简单就好!

Linux下安装Redis

前言

Redis是目前主流的缓存数据库,主要用来做数据缓存。今天我们来学习如何在Linux下安装Redis。

yum安装方式

在这里,可以采用 yum 方式来安装Redis,先查看一下可安装的版本,命令:yum list redis

[root@wintest ~]# yum list redis
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Available Packages
redis.x86_64                            3.2.12-2.el7                             epel
[root@wintest ~]# 

但我们发现,通过 yum 直接安装的版本是 3.2.12,这个版本太老了,现在的最新版本已经到 5.0 了,我们将通过 源码编译安装 方式来安装较新的Redis版本。

如果不介意版本的话,可直接通过yum来安装:yum install redis

源码编译安装方式

  • 下载安装包

redis官网下载地址:http://redis.io/download
redis各版本下载地址:http://download.redis.io/releases/

我们到redis官网下,找到稳定版本进行下载,复制下载链接地址后,我们将在Linux下通过 wget 命令进行下载。

下载稳定版本

我先创建一个新目录,用于存放下载的文件,再通过 wet 命令下载:wget http://download.redis.io/releases/redis-5.0.8.tar.gz

[root@wintest Redis]# wget http://download.redis.io/releases/redis-5.0.8.tar.gz
--2020-04-23 23:49:48--  http://download.redis.io/releases/redis-5.0.8.tar.gz
Resolving download.redis.io (download.redis.io)... 109.74.203.151
Connecting to download.redis.io (download.redis.io)|109.74.203.151|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1985757 (1.9M) [application/x-gzip]
Saving to: ‘redis-5.0.8.tar.gz’

100%[===========================================>] 1,985,757   5.69KB/s   in 4m 25s 

2020-04-23 23:54:14 (7.32 KB/s) - ‘redis-5.0.8.tar.gz’ saved [1985757/1985757]

[root@wintest Redis]# 
  • 解压

通过 tar 命令将压缩包解压:tar -zxvf redis-5.0.8.tar.gz,解压后生成了文件夹 redis-5.0.8,如下:

[root@wintest Redis]# ls
redis-5.0.8  redis-5.0.8.tar.gz
[root@wintest Redis]# 
  • 编译及安装

进入解压后的文件夹,同时我们在这里最好通过 prefix 参数指定一下Redis的安装路径,然后再进行安装。

进入解压后的文件夹:cd /root/SoftWare/Redis/redis-5.0.8
执行编译:make
安装:make PREFIX=/root/SoftWare/Redis install

[root@wintest redis-5.0.8]# make PREFIX=/root/SoftWare/Redis install
cd src && make install
make[1]: Entering directory `/root/SoftWare/Redis/redis-5.0.8/src'

Hint: It's a good idea to run 'make test' ;)

    INSTALL install
    INSTALL install
    INSTALL install
    INSTALL install
    INSTALL install
make[1]: Leaving directory `/root/SoftWare/Redis/redis-5.0.8/src'
[root@wintest redis-5.0.8]# cd ..
[root@wintest Redis]# ls
bin  redis-5.0.8  redis-5.0.8.tar.gz
[root@wintest Redis]# cd bin/
[root@wintest bin]# ls
redis-benchmark  redis-check-rdb  redis-sentinel
redis-check-aof  redis-cli        redis-server
[root@wintest bin]# 

启动/停止redis

  • 启动redis

我们把 Redis 默认的配置文件拷贝到安装目录下,可创建一个 conf 目录专门用于存放配置文件。

[root@wintest Redis]# ls
bin  redis-5.0.8  redis-5.0.8.tar.gz
[root@wintest Redis]# mkdir /root/SoftWare/Redis/conf
[root@wintest Redis]# cd /root/SoftWare/Redis/redis-5.0.8
[root@wintest redis-5.0.8]# cp ./redis.conf /root/SoftWare/Redis/conf/
[root@wintest redis-5.0.8]# cd /root/SoftWare/Redis/conf/
[root@wintest conf]# ls
redis.conf
[root@wintest conf]# 

进入安装目录下的 bin 目录,如果想查看 Redis 的版本,这里也可以使用命令:./redis-server --version./redis-server -v

[root@wintest bin]# ./redis-server --version
Redis server v=5.0.8 sha=00000000:0 malloc=jemalloc-5.1.0 bits=64 build=e67d25618b8a0ce6
[root@wintest bin]# ./redis-server -v
Redis server v=5.0.8 sha=00000000:0 malloc=jemalloc-5.1.0 bits=64 build=e67d25618b8a0ce6
[root@wintest bin]# 

接下来,启动redis。

[root@wintest conf]# cd ../bin/
[root@wintest bin]# ls
redis-benchmark  redis-check-rdb  redis-sentinel
redis-check-aof  redis-cli        redis-server
[root@wintest bin]# ./redis-server ../conf/redis.conf 
32020:C 24 Apr 2020 21:37:55.387 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
32020:C 24 Apr 2020 21:37:55.387 # Redis version=5.0.8, bits=64, commit=00000000, modified=0, pid=32020, just started
32020:C 24 Apr 2020 21:37:55.387 # Configuration loaded
                _._                                                  
           _.-``__ ''-._                                             
      _.-``    `.  `_.  ''-._           Redis 5.0.8 (00000000/0) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._                                   
 (    '      ,       .-`  | `,    )     Running in standalone mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
 |    `-._   `._    /     _.-'    |     PID: 32020
  `-._    `-._  `-./  _.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |           http://redis.io        
  `-._    `-._`-.__.-'_.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |                                  
  `-._    `-._`-.__.-'_.-'    _.-'                                   
      `-._    `-.__.-'    _.-'                                       
          `-._        _.-'                                           
              `-.__.-'                                               

32020:M 24 Apr 2020 21:37:55.388 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
32020:M 24 Apr 2020 21:37:55.388 # Server initialized
32020:M 24 Apr 2020 21:37:55.388 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
32020:M 24 Apr 2020 21:37:55.388 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
32020:M 24 Apr 2020 21:37:55.389 * Ready to accept connections

看到如上界面,则说明启动成功。

  • 停止redis

如果我们想要停止 redis 服务,可在安装路径下的 bin 目录,执行命令:./redis-cli shutdown

[root@wintest bin]# ./redis-cli shutdown
[root@wintest bin]# ps -ef | grep redis
root      2992  2318  0 22:43 pts/2    00:00:00 grep --color=auto redis
[root@wintest bin]# 

另外,因为 redis 可以妥善处理SIGTERM信号(可查看 kill 命令),所以我们可以直接通过 kill -9命令来停止 redis 服务,以下是停止 redis 服务的命令:

ps -ef | grep redis | grep -v grep | awk '{print $2}' | xargs kill -9

修改配置文件

我们也可以修改配置文件的一些参数,然后再重新启动redis。

修改为允许外网访问:注释掉 bind 127.0.0.1 ,同时关闭保护模式,修改为 protected-mode no

设置允许外网访问

修改监听端口,默认端口是 6379

修改监听端口

设置为默认以后台运行方式启动,修改为:daemonize yes

默认后台启动

设置 redis 密码,找到 requirepass 参数,去掉其注释,并修改为 requirepass 123456,将密码设置为 123456,如果设置了密码,那么连接的时候要进行密码验证。

设置redis密码

修改以上配置后,重新启动redis服务,则会以后台方式启动。

[root@wintest bin]# ./redis-server ../conf/redis.conf 
6021:C 24 Apr 2020 23:44:38.864 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
6021:C 24 Apr 2020 23:44:38.864 # Redis version=5.0.8, bits=64, commit=00000000, modified=0, pid=6021, just started
6021:C 24 Apr 2020 23:44:38.864 # Configuration loaded
[root@wintest bin]# 

使用客户端程序redis-cli

在启动redis服务后,进入安装路径下的 bin 目录,使用客户端连接的命令:./redis-cli -p 端口 ,通过命令:auth 密码 来验证之前设置的redis密码。

[root@wintest bin]# ./redis-cli -p 6363
127.0.0.1:6363> set name "wintest"
(error) NOAUTH Authentication required.
127.0.0.1:6363> auth 123456
OK
127.0.0.1:6363> set name "wintest"
OK
127.0.0.1:6363> get name
"wintest"
127.0.0.1:6363> exit
[root@wintest bin]# 

Redis可视化工具(RedisDesktopManager)

在Windows上,我们可以使用Redis客户端可视化工具来连接Redis,但在连接之前,我们需要确保redis服务已启动,并且 telnet 端口可通,检查命令:telnet ip地址 redis服务端口

另外,现在最新的 RedisDesktopManager 已经不是免费的了,我们可以到网上找一些免费老版本来使用,至于安装方法,除了选择一下安装目录,其余步骤直接傻瓜式下一步就行了。

链接:https://pan.baidu.com/s/1qP_mzrV2arZn0VtbsPAkBg
提取码:au5c

安装redis

安装redis

安装完成后,打开 RedisDesktopManager ,注意不要去更新。

创建连接

测试连接

显示内容

OK,到这里,我们已经可以在Windows下连接并操作Redis。

posted @ 2020-04-25 10:30  wintest  阅读(503)  评论(0编辑  收藏  举报