Last Updated on

前言

Redis 是一个开源的NoSql数据库,是一个内存型的key-value存储系统,它支持字符,哈希表,列表,集合,有序集合,位图等多种数据类型。性能极高,支持丰富的数据类型,支持数据持久化,易扩展,且本身支持集群方案,满足大型系统场景需求,被广泛用作数据库,高速缓存或消息队列代理等。大到顶尖互联网公司,小到创业公司,被广泛使用。

这里主要介绍redis的单机模式的安装与使用,当然redis除了单机模式,还有两种官方集群,有关redis集群的内容,请参考:

Redis官网全面了解redis

正文

下面就记录分享一下redis在centos7服务器上的安装与简单使用。

1:安装服务

redis的安装有两种方式,1. yum安装     2. 源码安装。 这里我两种方法都介绍一下,安装时任选其一安装即可。

  1. yum安装的话,非常简单,但是版本相对比较落后。
  2. 源码安装则可以安装最新的版本,但是较yum安装要复杂一点点。

1.yum安装

# 安装redis服务
$ yum install epel-release -y
$ yum install redis -y

# 启动redis
$ systemctl start redis
# 设为开机启动
$ systemctl enable redis
# 查看服务运行状态
$ systemctl status redis

# 查看redis版本
$ rpm -qa|grep redis

# 查看监听6379端口
netstat -lnpt|grep 6379

# 服务安装完成

2.源码安装

首先 . 去官网下载下载最新的稳定版安装包,此时最新为5.0.5版本。复制下图中按钮的下载连接地址,后面在服务器上进行下载。

# 安装依赖包
$ yum install -y cpp binutils glibc-kernheaders glibc-common glibc-devel gcc make wget

# 下载redis软件包,将上面复制的地址粘贴到此处进行下载
$ wget http://download.redis.io/releases/redis-5.0.5.tar.gz

# 解压软件包
$ tar -zxvf redis-5.0.5.tar.gz

# 构建
$ cd redis-5.0.5
$ make && make install

构建完成后,redis已经安装好了,并通过make install 将redis-server和redis-cli配置到/usr/local/bin目录下。可以直接在终端输入redis-server打开redis服务,redis-cli打开redis客户端。

下面将redis设为系统服务,然后就可以通过systemctl命令进行管理与设置自启动

# 在redis目录中,执行此命令,运行服务安装脚本,根据提示进行设定,全部默认也行。
$ utils/install-server.sh

# 默认安装后,会生成一个redis_6379的服务,然后通过systemctl命令管理
$ systemctl start redis_6379
$ systemctl enable redis_6379
$ systemctl status redis_6379

ok,到此,redis服务安装完成。

安装完成后,注意服务器防火墙是否开启,如果防火墙开启了,则需要在防火墙上开启相应端口,默认为6379:

# 永久开放6379/tcp端口,并重载防火墙
firewall-cmd --add-port=6379/tcp --permanent
firewall-cmd --reload

2:配置

yum安装的方式,配置文件路径为:/etc/redis.conf

源码安装的方式,安装为服务后,配置文件路径为:/etc/redis/6379.conf

redis服务的设置通过修改配置文件,然后重启服务来实现,所以配置文件非常重要,下面列举一些redis常用的重要的配置:

# 指定只接受此ip的连接
# bind 127.0.0.1 默认为只能本机访问
# 设置为0.0.0.0则是允许所有ip进行连接,此设置为必改配置
bind 0.0.0.0

# 保护模式,默认为开启
protected-mode yes

# 监听端口,默认为6379
port 6379

# 超时时间,如果连接多长时间不操作就会被关闭连接,默认为0,就是不超时
timeout 0

# 后台运行模式,默认为后台运行
daemonize yes

# pid文件路径,pid就是进程号,服务启动会记录下服务进程号到文件中,关闭服务时就会关闭此进程,默认路径即可,根据需求修改。
pidfile /var/run/redis_6379.pid

# 日志级别,有debug,verbose,notice,warning依次递增,默认为notice级别。
loglevel notice

# 日志文件保存路径,指定日志文件保存的路径,默认路径即可,根据需求修改
logfile /var/log/redis_6379.log

# 指定数据库数量,默认为16个,即从0-15,通过修改配置增加数据库。
databases 16

# 持久化设置,默认如下,redis的数据是存在内存中的,默认会进行持久化,
# 隔一段时间便会将内存中不活跃的数据持久化到硬盘,然后重启读数据时便会加载硬盘数据到内存中。
# 如果redis只是作为缓存服务器使用,则需要将下面配置全部注释掉,取消持久化,数据全部存于内存中。
# 这样的话,一旦服务重启,则内存中的数据会全部丢失。根据实际情况进行设置。
save 900 1 
save 300 10 
save 60 10000

# 数据保存路径,默认即可,根据需求修改
dir /var/lib/redis/6379

# 密码设置,默认是没有密码的,一般需要手动设置密码,将默认中的foobared改为自己的密码,去掉注释即可。
# requirepass foobared

# 最大连接数,默认为10000,一般都够用了,根据需求修改
# maxclients 10000

# 最大使用内存,默认是没有的,则机器有多少内存,则可以用多少内存,可以根据服务器情况,手动指定redis最大使用内存。
# maxmemory <bytes>

修改完配置,只需要重启服务即可生效

3:简单使用

进过上面两步,服务已经安装并修改配置后,正常运行。下面即可,如果使用redis,对于运维人员来说,redis的使用一般是开发人员的事,我们只需要提供redis服务即可。但是了解一些简单使用,也有助于帮助运维人员更好的运维redis。

连接使用redis,除了使用代码进行。作为运维人员,一般有两种方式:

  1. 通过redis-cli命令行连接使用
  2. 通过桌面连接工具Redis Desktop Manager连接操作

1.通过redis-cli进行连接,不加参数默认连接本机6379端口

$ redis-cli -h 127.0.0.1 -p 6379
# 验证你的密码,没有密码就不用验证
127.0.0.1:6379> auth yourpassword
ok
# select 选择数据库进行操作,默认是0-15共16个数据库。
127.0.0.1:6379> select 0
ok

# 创建key-value键值,设置键a等于1
127.0.0.1:6379> set a 1
ok
# 获取键值
127.0.0.1:6379> get a
"1"

# 检查键是否存在
127.0.0.1:6379> exists a
(integer) 1
127.0.0.1:6379> exists b
(integer) 0

# 设置键过期时间,单位秒
127.0.0.1:6379> expire a 1000
(integer) 1

# 显示键剩余过期时间
127.0.0.1:6379> ttl a
(integer) 994

# 修改键的名称
127.0.0.1:6379> rename a b
ok

# 查找符合条件的key,通过keys pattern进行正则筛选
# 查看当前库里的所有keys
127.0.0.1:6379> keys *
1) "b"

# 删除键
127.0.0.1:6379> del b
(integer) 1

# 查看当前redis服务器的各种信息和统计数值,这也是非常常用的命令
127.0.0.1:6379> info

info命令会返回redis服务的各种信息,信息非常多,下面给出其中一些经常看的重要的指标数据的含义:

  • redis_version:redis版本
  • redis_mode:redis模式,standalone为单机模式
  • tcp_port:监听端口
  • uptime_in_seconds:从服务启动开始所经过的秒数
  • uptime_in_days: 从服务开始所经过的天数
  • executable:服务运行的主文件路径
  • config_file:服务配置文件路径
  • connected_clients:已连接的连接数
  • blocked_clients:正在等待阻塞命令的客户端的数量
  • used_memory:已使用内存
  • used_memory_human: 已使用内存,人类可读,带单位格式
  • used_memory_rss:从操作系统的角度,返回 Redis 已使用的内存总量
  • used_memory_rss_human:同上,带单位,人类可读
  • used_memory_peak:内存使用峰值
  • used_memory_peak_human: 同上,带单位,人类可读
  • used_memory_peak_perc:(used_memory/ used_memory_peak) *100%
  • total_system_memory:整个系统内存
  • total_system_memory_human: 同上,带单位,人类可读
  • maxmemory: 最大内存配置
  • maxmemory_policy:当达到最大内存后的淘汰机制

ok,此上就是redis的一些常用命令和info中一些常见字段的解释。详细的redis info信息解释,我后面单独写一篇博客进行详细解释。

2.通过Redis Desktop Manager桌面可视化工具连接redis操作

Redis Desktop Manager是一个常用的redis桌面可视化工具,可以用来连接redis,并进行简单操作,官网地址:https://redisdesktop.com/

有点坑爹的就是,以前此工具是免费的,现在已经要收费了,或者自己通过源码构建,通过源码构建的方式,可以查看官方文档:http://docs.redisdesktop.com/en/latest/install/

但是,一般人也没那么心思去通过源码构建,so,请大家自行在网上找资源吧,各凭本事了,哈哈。我这里给一个我以前的安装包吧,windows和mac版都有,版本比较老了,要找新版只能各凭本事啦。有新版的,也可以在评论区分享一下,谢谢啦,哈哈

网盘连接:https://pan.baidu.com/s/1rfwd1BRuzYiYbHEKBRRNxg

至于Redis Desktop Manager的使用,这里就不讲了,界面操作,非常简单,自己乱点点就知道啦。

结束

ok,到此redis的安装与简单使用就结束了,有任何问题,欢迎留言交流。