Redis5版本集群搭建

一、简介 1.1 Redis是什么

Redis是一个开源的,使用ANSI C 编写,高性能的Key-Value的NoSQL数据库。

1.2 Redis特点

(1)基于内存

(2)可持久化数据

(3)具有丰富的数据结构类型,适应非关系型数据的存储需求

(4)支持绝大多数主流开发语言,如C、C++、Java、Python、R、JavaScript等。

(5)支持集群模式,高效、稳定。

1.3 数据模型(重点)

(1)键值对形式。

(2)Redis的数据结构类型,指的就是Redis值的结构类型。

1.4 Redis作用 (1)本质是数据库,能存储数据。

Redis能灵活处理非关系型数据的读、写问题,是对MySQL等关系型数据库的补充。

新浪微博就是使用Redis集群做数据库。

(2)缓存数据。

所谓缓存,就是将数据加载到内存中后直接使用,而不是每次都通过IO流从磁盘上读取。好处:读写效率高。

而Redis则是将数据直接存储在内存中,只有当内存空间不足时,将部分数据持久化到磁盘上。

二、安装 1.1 说明

Redis官方只提供了源码,并没有提供经过编译之后的安装包。
因此,安装Redis,要先编译、后安装。(即源码安装方式)

1.2 redis安装步骤 # 安装步骤 cd /usr/local/src wget tar -zxv -f redis-5.0.4.tar.gz cd /usr/local/src/redis-5.0.4/ make MALLOC=libc (或者直接make,不用./configure) make install (安装到指定目录:make PREFIX=http://www.likecs.com/usr/local/redis install,不指定的话默认安装到/usr/local/bin目录下,也可以执行该步骤,也就是安装) # 不安装的话命令执行文件路径是:/usr/local/src/redis-5.0.4/src # 配置文件:/usr/local/src/redis-5.0.4/redis.conf # 优化配置,使用root账号操作 # vim /etc/sysctl.conf vm.overcommit_memory = 1 net.core.somaxconn = 2048 # sysctl -p # echo never > /sys/kernel/mm/transparent_hugepage/enabled # vim /etc/rc.d/rc.local if test -f /sys/kernel/mm/transparent_hugepage/enabled; then echo never > /sys/kernel/mm/transparent_hugepage/enabled fi if test -f /sys/kernel/mm/transparent_hugepage/defrag; then echo never > /sys/kernel/mm/transparent_hugepage/defrag fi # chmod +x /etc/rc.d/rc.local # vim /etc/security/limits.conf * soft nofile 65535 * hard nofile 65535 # 启动 [sandu@bogon ~]# ./src/redis-server ./redis.conf 1270:C 02 Aug 2019 16:27:19.274 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo 1270:C 02 Aug 2019 16:27:19.275 # Redis version=5.0.4, bits=64, commit=00000000, modified=0, pid=1270, just started 1270:C 02 Aug 2019 16:27:19.275 # Configuration loaded _._ _.-``__ \'\'-._ _.-`` `. `_. \'\'-._ Redis 5.0.4 (00000000/0) 64 bit .-`` .-```. ```\/ _.,_ \'\'-._ ( \' , .-` | `, ) Running in standalone mode |`-._`-...-` __...-.``-._|\'` _.-\'| Port: 6379 | `-._ `._ / _.-\' | PID: 1270 `-._ `-._ `-./ _.-\' _.-\' |`-._`-._ `-.__.-\' _.-\'_.-\'| | `-._`-._ _.-\'_.-\' | `-._ `-._`-.__.-\'_.-\' _.-\' |`-._`-._ `-.__.-\' _.-\'_.-\'| | `-._`-._ _.-\'_.-\' | `-._ `-._`-.__.-\'_.-\' _.-\' `-._ `-.__.-\' _.-\' `-._ _.-\' `-.__.-\' 1270:M 02 Aug 2019 16:27:19.277 # Server initialized 1270:M 02 Aug 2019 16:27:19.277 * Ready to accept connections # 使用自带的客户端连接,默认没有密码直接连接 [sandu@bogon ~]# ./src/redis-cli 127.0.0.1:6379> ping # 检测redis服务是否启动 PONG 127.0.0.1:6379> set a 1111 OK 127.0.0.1:6379> get a "1111" 127.0.0.1:6379> quit # 退出 # 密码连接 # redis-cli -h host -p port -a password [sandu@bogon ~]# ./src/redis-cli 127.0.0.1:6379> auth foobar2000 OK 127.0.0.1:6379> set b 222222 OK 127.0.0.1:6379> get b "222222" 127.0.0.1:6379> exit 1.3 redis.conf常用配置说明

bind:允许访问该redis的主机

protected-mode:保护模式,默认开启。若设置外部网络连接redis服务,设置方式如下:

1、关闭protected-mode模式,此时外部网络可以直接访问

2、开启protected-mode保护模式,需配置bind ip或者设置访问密码,或者bind ip和密码都设置

requirepass:设置密码

databases:Redis默认有16个数据库,寻址角标从0开始。默认连接db0。客户端使用select命令,切换数据库

port :指定redis的服务端口,默认6379.

daemonize:Redis默认关闭后台进程模式,改成yes,redis服务在后台启动。

loglevel :日志等级

logfile:Redis日志输出目录,默认不输出日志到文件。

dbfilename:指定数据持久化的文件名

dir :指定数据持久化的文件存放目录,也是集群node.con文件存放目录

cluster-enabled:是否启用集群

cluster-config-file:集群文件

1.4 redis启动方式

直接启动

进入redis根目录,执行命令,加上‘&’号使redis以后台程序方式运行

./src/redis-server &

通过指定配置文件启动
可以为redis服务启动指定配置文件,例如配置为/etc/redis/6379.conf

./src/redis-server /etc/redis/6379.conf

进入redis根目录,输入命令,如果更改了端口,使用redis-cli客户端连接时,也需要指定端口,例如:

redis-cli -p 6380 # redis-cli -h host -p port -a password

使用redis启动脚本设置开机自启动,有问题,只能启动和停止,不能查看状态,也不能重载,还有就是关闭的话貌似关不掉,不予考虑该脚本

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zypzfx.html