redis的安装和配置

概述

对redis来说,在学习和工作中,安装配置环节无疑是最简单的。无论是单机安装、sentinel主从还是cluster模式,都只需要一个安装包,每个节点给一个配置文件,然后使用配置文件启动就可以了。当然,在试验环节,我们可以连配置文件都省了,直接启动也是可以的。

这样说来,其实理解redis基础安装,主要在于理解配置文件,那么配置文件中有哪些内容呢?

  • 如果是单机安装,那么配置文件中规定了端口号、是否后台运行、log文件名称及存放位置、访问密码等。
  • 如果是主从模式,除了单机模式的参数外,还可以约定主从复制的相关规定,如主从切换的时间等。
  • 如果是集群cluster模式,那么还需要开启cluster功能,并描述cluster的相关约定。

这篇博文描述redis的单机、主从模式的安装配置,下一篇描述cluster模式的安装、配置及节点管理。

服务器环境准备

[[email protected] ~]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
[[email protected] ~]# uname -a
Linux redis 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
[[email protected] ~]# getenforce
Disabled
[[email protected] ~]# systemctl is-active firewalld.service
unknown
[[email protected] ~]# hostname -i|awk ‘{print $NF,$(NF-1)}‘
172.16.1.101 10.0.0.101

目录规划

目录 内容
/application/redis-3.2.12 redis原始安装目录
/application/redis redis原始安装目录的软连接
/data/redis/{port-number} redis实例运行目录,port-number就是实例的端口号

最简单的安装

##创建基础目录
mkdir /application
cd /application

##上传安装包redis-3.2.12.tar.gz
rz -be
tar -zxf redis-3.2.12.tar.gz

##创建软链接
ln -s redis-3.2.12 redis

##make
cd redis
make

##后台启动
/application/redis/src/redis-server &
##连接验证
/application/redis/src/redis-cli ##如果状态正常,会进入redis的命令行模式,如下(6379是redis的默认端口号):
127.0.0.1:6379> set name timmy
OK
127.0.0.1:6379> get name
"timmy"
##如上,可以连接,并正常读写,说明最基本的安装已经完成了##可使用exit退出redis命令行模式##关闭redis实例有两种方式##1.在redis命令行输入shutdown,然后exit退出##2.退出redis命令行后,使用redis-cli shutdown,有了后续配置后,使用这种方法时需要加上验证密码、端口号、host地址等参数,以后再说

修改环境变量

上面的启动、连接命令都在/application/redis/src/目录下,这个目录中还有很多其他的命令,是以后要经常使用的,为了方便,可以把这个路径添加到环境变量中。

echo ‘export PATH=/application/redis/src:$PATH‘>>/etc/profile
source /etc/profile

配置文件

写一个配置文件

写一个简单的配置文件吧,如下:

[[email protected] application]# cat /data/redis/6379/6379.conf
daemonize yes
port 6379
logfile /data/redis/6379/redis.log
dir /data/redis/6379
dbfilename dump.rdb
bind 10.0.0.101  127.0.0.1
requirepass 123456

###配置逐行说明

配置逐行说明:

  1. 是否后台运行,设置yes表示默认后台运行,这样启动时就不用加&符号了
  2. 实例监听的端口号
  3. redis日志存放路径
  4. 持久化文件存放位置
  5. RDB持久化数据文件
  6. bind地址,设置以后,其他服务器可以通过这个地址访问redis实例
  7. 访问密码

理解保护模式

重点说明一下:redis默认是只允许本地访问,实现方式是把保护模式设置了一个参数:protected-mode yes/no (保护模式,是否只允许本地访问)。

想要让其他服务器也可以访问,最简单的方法是把这个参数设置为no,但这种方式不够安全,所以遵循官方建议的另外一种方法,就是上面配置文件中写道的给定bind IP和访问密码。

接下来就可以连接redis实例并验证了。

趁着之前的实例还没有关闭,有必要体验一下保护模式的阴影,请看

[[email protected] application]# redis-cli -h 10.0.0.101
10.0.0.101:6379> get name
(error) DENIED Redis is running in protected mode because protected mode is enabled, no bind address was specified, no authentication password is requested to clients. In this mode connections are only accepted from the loopback interface. If you want to connect from external computers to Redis you may adopt one of the following solutions:
1) Just disable protected mode sending the command ‘CONFIG SET protected-mode no‘ from the loopback interface by connecting to Redis from the same host the server is running, however MAKE SURE Redis is not publicly accessible from internet if you do so. Use CONFIG REWRITE to make this change permanent.
2) Alternatively you can just disable the protected mode by editing the Redis configuration file, and setting the protected mode option to ‘no‘, and then restarting the server.
3) If you started the server manually just for testing, restart it with the ‘--protected-mode no‘ option.
4) Setup a bind address or an authentication password. NOTE: You only need to do one of the above things in order for the server to start accepting connections from the outside.

如上,在没有配置关闭保护模式,和bind IP、访问密码的时候,虽然可以连接redis实例,但读取内容时会报错,并且给出几条解决方案。其中前三条大同小异,就是用各种方式关闭保护模式,我们采用的是第四种。

这里,如果把-h后的地址写成127.0.0.1,就可以正常读写了,所以他真的是只允许本地访问的,没错吧。

好了,接下来就正式验证通过配置文件启动的redis实例是不是可以正常运行了。

###关闭之前的实例,然后通过配置文件开启新的实例
redis-cli shutdown
redis-server /data/redis/6379/6379.conf

###连接并验证
##方式1
[[email protected] application]# redis-cli
127.0.0.1:6379> get name
(error) NOAUTH Authentication required.
127.0.0.1:6379> auth 123456
OK
127.0.0.1:6379> CONFIG GET port
1) "port"
2) "6379"
127.0.0.1:6379> exit

###方式2
[[email protected] application]# redis-cli -a 123456
127.0.0.1:6379> CONFIG GET port
1) "port"
2) "6379"
127.0.0.1:6379> exit

如上,可以通过两种方式通过验证,方式一、连接成功后,用“auth password”验证;方式二、在连接实例时添加验证参数“-a passwor”。

上蒙面的config get是在线查看配置的命令,可以在redis命令行中查看配置,也可以用config set来修改配置,这些有机会的话,以后的博文中再说。

配置持久化

数据持久化的实现,很大程度保障了数据安全,这个是redis被广泛应用的最重要原因之一。redis的持久化方式有RDB和AOF两种。

RDB持久化

实现方式:在指定的时间间隔内生成数据集的时间点快照,把内存数据保存在磁盘中。

优点:速度快

缺点:可能会丢失数据

应用场景:主从复制就是基于RDB持久化实现的

配置参数:

###在配置文件中加入以下语句,前两行是已经配置过的
dir /data/redis/6379
dbfilename dump.rdb

save 900 1
save 300 10
save 60 10000

后三行配置解读:指定时间间隔内,有指定数量的更改就把数据保存都磁盘

  1. 900秒(15分钟)内有1个更改
  2. 300秒(5分钟)内有10个更改
  3. 60秒内有10000个更改

AOF持久化

实现方式:记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集。AOF 文件中的命令全部以 Redis 协议的格式来保存,新命令会被追加到文件的末尾。

优点:安全性更好,最大程度保留数据

缺点:日志可能会很大,不过在生产环境中,多用点磁盘空间也不算啥大问题。

配置参数:

###在配置文件中加入以下参数:
appendonly yes
appendfsync everysec 

参数解读:

  1. 开启AOF持久化功能
  2. 设置AOF持久化同步频率,这个参数有三种模式,如下
    appendfsync always:每执行一处修改,立即同步到AOF
    appendfsync everysec:每秒钟执行一次同步动作
    appendfsync no:由操作系统判断何时同步

验证

可以按照“最简单的安装”一节中的方式,设定一个变量。如果不配置持久化,每次重启实例,数据就会丢失,自然就读取不到了;设置持久化后,如果是RDB,会在时间间隔达到后被永久保存;如果是AOF,则会按照配置的同步方式进行保存。无论是哪种持久化,一旦触发了同步条件,数据就是安全的了,这时重启实例后,依然可以正常读取数据。

主从复制

原文地址:https://www.cnblogs.com/Go-Spurs-Go/p/10664540.html

时间: 2024-10-11 01:25:01

redis的安装和配置的相关文章

Linux redis的安装与配置

Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15日起,Redis的开发工作由VMware主持. 1.环境 # lsb_release LSB Version:    :core-4.0-ia32:core-4.0-noarch:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-ia32:printing-4.0-noarchDistri

[Linux]Linux下redis的安装及配置.

在上一篇[Linux] linux下安装配置 zookeeper/redis/solr/tomcat/IK分词器 详细实例. 我们已经将redis所需tar包拷贝到了linux下的root 根目录下, 接着我们只需要解压就可以了. 先将Redis的tar包拷贝到Linux下的根目录 然后解压到redis文件夹下:(先使用mkdir创建redis文件夹) 接下来就是解压tar包到redis目录下: 解压后的目录结构: 编译: 使用Make命令 安装: 安装好之后的目录:  6379 下的目录结构:

Redis的安装、配置 --转载

原文地址:http://blog.sina.com.cn/s/blog_505bf9af0101ehhp.html redis的安装.配置 安装步骤如下:下载redis安装包:$ cd /opt/app(可以根据实际情况选择安装目录)$ wget wget http://redis.googlecode.com/files/redis-2.6.14.tar.gz$ tar zxvf redis-2.6.14.tar.gz$ cd redis-2.6.14直接make就行了 $ make 执行完后

redis学习教程一《Redis的安装和配置》

redis学习教程一<Redis的安装和配置> Redis的优点 以下是Redis的一些优点. 异常快 - Redis非常快,每秒可执行大约110000次的设置(SET)操作,每秒大约可执行81000次的读取/获取(GET)操作. 支持丰富的数据类型 - Redis支持开发人员常用的大多数数据类型,例如列表,集合,排序集和散列等等.这使得Redis很容易被用来解决各种问题,因为我们知道哪些问题可以更好使用地哪些数据类型来处理解决. 操作具有原子性 - 所有Redis操作都是原子操作,这确保如果

php搭建redis扩展安装及配置

1:redis 安装 $ wget http://download.redis.io/releases/redis-2.8.13.tar.gz $ tar xzf redis-2.8.13.tar.gz $ cd redis-2.8.13 $ make 2:运行redis 加载redis的配置文件redis.conf 编译后的可执行文件在src目录中,可以使用下面的命令运行Redis: $ src/redis-server redis.conf 你可以使用内置的客户端连接Redis: $ src

linux下redis的安装及配置启动

linux下redis的安装及配置启动 标签: redisnosql 2014-10-24 14:04 19732人阅读 评论(0) 收藏 举报  分类: 数据与性能(41)  wget http://download.redis.io/releases/redis-2.8.6.tar.gztar xzf redis-2.8.6.tar.gzcd redis-2.8.6make 有是make会报错 gcc类的错误 则需安装 gcc 如: yum install -y gcc g++ gcc-c+

mac与centos下redis的安装与配置

前言 最近在用redis,下面简单写一下mac和centos下redis的安装与配置方法. 安装 mac下面 安装命令:brew intall redis 运行命令:brew services start redis centos centos在su用户下运行,或者加sudo 安装命令:yum install redis 运行命令:service redis start 配置 mac 在mac下,其配置文件路径是/usr/local/etc/redis.conf centos 在centos下,

centos6.8下redis的安装和配置

centos6.8下redis的安装和配置 下载.安装 在redis官网可以获取到最新版本的redis 进入/usr/local/目录,执行如下命令 wget http://download.redis.io/releases/redis-4.0.2.tar.gztar xzf redis-4.0.2.tar.gzcd redis-4.0.2make 执行make构建redis时报如下错误,这是因为没有安装gcc,执行如下命令即可解决 错误: make[3]: gcc:命令未找到解决: yum

redis+sentinel 安装与配置

redis安装与配置 环境信息: Master:10.10.56.3 Centos6.8Slave:10.10.56.4 Centos6.8 开始安装redis服务 # 下载安装$ wget http://download.redis.io/releases/redis-3.0.0.tar.gz # 解压$ tar xzf redis-3.0.0.tar.gz # 切换到目录$ cd redis-3.0.0 # 编译$ make 复制文件cp redis-benchmark redis-cli

mac下,redis的安装与配置

一.安装redis 1.到官网下载redis最新版本号,我下载的是3.0.3 http://redis.io/ 2.拷贝redis-3.0.3到/usr/local文件夹 3.解压缩sudo tar -zxf redis-3.0.3.tar.gz 4.进入解压缩后的文件夹 cd redis-3.0.3 5.编译測试:sudo make test 6.编译安装:sudo make install 7.启动服务:./redis-server (PS:这个界面让我想起了我在1999年玩的侠客行,一个泥