共计 3306 个字符,预计需要花费 9 分钟才能阅读完成。
0、何为 Redis
Redis 是一个 key-value 存储系统。和 Memcached 类似,它支持存储的 value 类型相对更多,包括 string(字符串)、list(链表)、set(集合)和 zset(有序集合)。这些数据类型都支持 push/pop、add/remove 及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,Redis 支持各种不同方式的排序。与 memcached 一样,为了保证效率,数据都是缓存在内存中。区别的是 Redis 会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了 master-slave(主从)同步。Redis 是一个高性能的 key-value 数据库。Redis 的出现,很大程度补偿了 memcached 这类 keyvalue 存储的不足,在部分场合可以对关系数据库起到很好的补充作用。
1、Redis 安装
1.1 安装前环境说明
使用的是 CentOS 7 版本的 Linux 系统,
master ip 为 10.211.55.3
slave ip 为 10.211.55.4
虚拟机工具使用的是 Parallels Desktop
1.2 下载 Redis
Redis 可以到官方网站上面进行下载:https://redis.io/download,现在最新的稳定版已经到 4.0 了。
这里使用的是 redis-4.0.1.tar.gz。
1.3 安装步骤
make
可能出现的异常
解决方案
yum install -y tcl
2、Redis 简单配置
所有配置修改都在此配置文件
/usr/local/redis-4.0.1/redis.conf
2.1 修改为守护进程的方式运行
Redis 默认不是以守护进程的方式运行,可以通过该配置项修改,使用 yes 启用守护进程
#daemonize no
# 修改为 yes
daemonize yes
2.2 绑定的主机地址
bind 后面再添加主机的 ip,后面 主从复制
从 Redis 需要通过 IP 连接。
bind 127.0.0.1 10.211.55.3
2.3 设置 Redis 密码
这里密码设置为javen
# requirepass foobared
requirepass javen
2.4 设置 Redis 端口号
默认端口为6379
port 6379
3、测试 Redis
- 启动
- 客户端连接
src/redis-cli
# 如果有密码则
src/redis-cli -a Javen
- 停止
# 默认配置文件 /usr/local/redis-4.0.1/redis.conf 中的端口
src/redis-cli shutdown
# 指定端口
src/redis-cli -p 6666 shutdown
4、Redis 主从复制配置
Redis 的主从复制功能非常强大,一个 master 可以拥有多个 slave,而一个 slave 又可以拥有多个 slave,如此下去,形成了强大的多级服务器集群架构。下面简单的进行一下配置。
修改 slave 的 redis 配置文件
- master 的 redis 配置文件只要设置好
bind
即可 -
修改 slave 的 redis 配置文件
slaveof 10.211.55.3 6379 (映射到主服务器上,6379
是端口号)
也可以动态设置:
通过 redis-cli 连接到从节点服务器,执行下面命令即可。
slaveof 10.211.55.3 6379 -
如果 master 设置了验证密码,还需配置 masterauth。我这里的 master 设置了验证密码为 javen,所以配置 masterauth javen。
配置完之后启动 slave 的 Redis 服务,OK,主从配置完成(是不是很简单)。
下面测试一下:
在 master 和 slave 分别执行 info 命令,查看结果如下:
slave:
[root@centos-linux-2 redis-4.0.1]# src/redis-cli
127.0.0.1:6379> info
如果从 Redis 连接到了 master 则
master_link_status:up
否则为down
。如果为down
请坚持 master 的 Redis 是否bind
了主机的 IP 以及是否设置了密码。因为从 Redis 是远程连接必须设置bind
,如果 master 的 Redis 设置了密码 slave 的 Redis 必须设置masterauth
master:
然后在 master 执行 set age 18
在 slave 执行 get age,看是否能得到 18,如果能够得到值则说明配置成功。
下面把 slave 修改的参数贴出来:
daemonize yes
bind 127.0.0.1 10.211.55.4
requirepass javen
port 6379
slaveof 10.211.55.3 6379
masterauth javen
5、Redis 远程连接
用法:redis-cli [OPTIONS] [cmd [arg [arg …]]]
-h < 主机 ip>,默认是 127.0.0.1
-p < 端口 >,默认是 6379
-a < 密码 >,如果 redis 加锁,需要传递密码
–help,显示帮助信息
redis-cli -h 10.211.55.4 -p 6379 -a javen
下面关于 Redis 的文章您也可能喜欢,不妨参考下:
Ubuntu 14.04 下 Redis 安装及简单测试 http://www.linuxidc.com/Linux/2014-05/101544.htm
Redis 主从复制基本配置 http://www.linuxidc.com/Linux/2015-03/115610.htm
CentOS 7 下 Redis 的安装与配置 http://www.linuxidc.com/Linux/2017-02/140363.htm
Ubuntu 14.04 安装 Redis 与简单配置 http://www.linuxidc.com/Linux/2017-01/139075.htm
Ubuntu 16.04 环境中安装 PHP7.0 Redis 扩展 http://www.linuxidc.com/Linux/2016-09/135631.htm
Redis 单机 & 集群离线安装部署 http://www.linuxidc.com/Linux/2017-03/141403.htm
CentOS 7.0 安装 Redis 3.2.1 详细过程和使用常见问题 http://www.linuxidc.com/Linux/2016-09/135071.htm
Ubuntu 16.04 环境中安装 PHP7.0 Redis 扩展 http://www.linuxidc.com/Linux/2016-09/135631.htm
Ubuntu 15.10 下 Redis 集群部署文档 http://www.linuxidc.com/Linux/2016-06/132340.htm
Redis 实战 中文 PDF http://www.linuxidc.com/Linux/2016-04/129932.htm
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-11/148514.htm