【Redis5 CentOS7 单例部署】Redis单例部署及配置简述 2019_9_16

单例模式

准备

本地下载,远程服务器上载Redis官方tar包

Redis

  • Redis官网下载 & Linux安装指导:https://www.redis.net.cn/download/
  • 5.0.4压缩包:http://download.redis.io/releases/redis-5.0.4.tar.gz
  • 官方全平台指导:https://www.redis.net.cn/tutorial/3503.html

SecureCRT8.5

  1. Alt + P 召唤sftp窗口
  2. sftp> cd /opt改变文件上载到服务器的目录为/opt,默认是家目录,我用的是root用户,故此/root
  3. 直接将windows系统中下载的redis-5.0.4.tar.gz拖入sftp窗口
  4. sftp> put -r "C:\Users\INBreeze\Downloads\Compressed\redis-5.0.4.tar.gz"

安装

  1. [root@redis1 opt]# tar -zxvf redis-5.0.4.tar.gz,解压redis
    -v 显示详细信息
    -f 指定压缩后的文件名
    -z 以gzip命令处理文件
    -x 解包.tar文件
    附:tar [-zxvf] [文件名.tar.gz] -C [目录绝对路径],解压tar.gz文件至已存在的目录中

  2. [root@redis1 opt]# cd redis-5.0.4,进入解压后的redis-5.0.4目录

  3. Yum安装GCC,GCC-C++
    [root@redis1 redis-5.0.4]# yum install gcc
    [root@redis1 redis-5.0.4]# yum install gcc-c++

  4. [root@redis1 redis-5.0.4]# make,使用上面 gcc、gcc-c++ 编译器编译redis c/c++源码

  5. [root@redis1 redis-5.0.4]# make install,In order to install Redis binaries into /usr/local/bin——ReadME.md
    有关 make install 命令的提问:https://segmentfault.com/q/1010000000487043

  6. 校验全局 Redis 命令是否存在&&查看客户端服务器版本
    进入/usr/local/bin目录查看redis命令列表,如果有 redis-benchmark / cli / server / sentinel,redis-check-aof / rdb

    [root@redis1 redis-5.0.4]# cd /usr/local/bin
    [root@redis1 bin]# ll
    ...
    [root@redis1 bin]# redis-server -v
    Redis server v=5.0.4 sha=00000000:0 malloc=jemalloc-5.1.0 bits=64 build=8655bd3a409d3fae
    [root@redis1 bin]# redis-cli -v
    redis-cli 5.0.4
    

    且上述命令执行过程中未报错,则证明 Redis 完全安装成功。

启动

核心思想:不破坏不使用,解压文件redis.conf默认配置文件启动Redis实例,而是复制一份副本至其他目录并由此启动
吐槽:这真的是一个极棒的思想,哎,悔不知少年恨,多听老人言。

  1. 备份redis.conf:拷贝一份redis.conf到/root/myredis目录,前提是你先mkdir
    [root@redis1 redis-5.0.4]# mkdir /root/myredis
    [root@redis1 redis-5.0.4]# cp redis.conf /root/myredis/redis.conf

  2. 进入/root/myredis,修改 redis.conf 配置文件内容【修改 redis.conf 文件或使用 CONFIG set 命令修改配置】

    [root@redis1 ~]# vi /root/myredis/redis.conf
    第128行 128G:daemonize no ——》 daemonize yes

  3. 通过指定的配置文件,启动单例Redis服务
    [root@redis1 ~]# redis-server /root/myredis/redis.conf

  4. 通过客户端命令访问本地Redis服务器
    [root@redis1 ~]# redis-cli,本地多个Redis服务器及配套端口则使用 redis-cli –p XXXX
    127.0.0.1:6379>ping,测试连通性,成功返回 PONE

  5. 关闭Redis服务器
    [root@redis1 ~]# redis-cli shutdown

修改配置方法

①修改 redis.conf 配置文件

配置文件在解压缩后的 cd /opt/redis-5.0.4/目录中。一般都是将配置文件复制一份到home目录下,然后配置专门的目录,例如 /root/myredis/ 专门存储 配置文件,数据库数据(dump),数据备份(aof,rdb)

daemonize no ——> yes

②在运行时命令更改配置

语法

redis 127.0.0.1:6379> CONFIG SET CONFIG_SETTING_NAME NEW_CONFIG_VALUE

实例

redis 127.0.0.1:6379> CONFIG SET loglevel "notice"
OK
redis 127.0.0.1:6379> CONFIG GET loglevel
 
1) "loglevel"
2) "notice"

参数简述

redis.conf 文件包含的配置项说明【不全】

一、基础配置
1. 守护进程模式
//Redis默认不以守护进程运行,使用yes启用守护进程模式,让Redis服务在后台启动【不占用当前SSH会话】
daemonize no

2. PID文件存放位置
//当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定
pidfile /var/run/redis.pid

3. Redis服务端口
//指定Redis监听端口,默认端口为6379,6379 ==> MERZ,取自意大利歌女Alessia Merz的名字
port 6379

4. 主机地址
//绑定的主机地址,一般来说,我们都是直接注释掉,使用服务器IP
bind 127.0.0.1

5. 包含指定配置文件
//可用在同一主机上多个Redis实例之间共用同一份配置文件,而各个实例又可覆写特定配置
include /root/myredis/redis.conf

二、Snapshot快照(官方),RDB持久化配置:
//此模式下Redis异步地将数据库转储到磁盘上。在调用异步转存时,Redis是停止接受写操作的
//如果想禁用RDB的话,直接将下列的持久化规则全部注释即可。
1. 配置内存数据持久化规则
//异步转存的时机由持久化规则决定
//指定在多长时间内,有多少次更新操作,就将内存数据持久化到数据文件。可多个条件组合
//Redis默认配置三个条件
//分别表示900秒(15分钟)内有1个更改,300秒(5分钟)内有10个更改以及60秒内有10000个更改

save 900 1
save 300 10
save 60 10000

save <seconds> <changes> 【运行时命令修改配置方式】

2. rdb持久化时是否压缩,默认为yes,采用LZF压缩,为节省CPU时间可关闭但会导致rdb文件巨大
rdbcompression yes

3. 指定rdb文件名,默认为dump.rdb
dbfilename dump.rdb

4. 指定rdb存放目录,默认当前目录
dir ./

5. 是否在当RDB被启用且后台备份时或者后台写失败的两种情况下禁止新的写入
stop-writes-on-bgsave-error yes

三、APPEND ONLY MODE(官方),AOF持久化配置(操作日志)
//AOF模式是对RDB模式的很好补充,补充在于——数据持久化的完整性
//RDB可能会因为意外情况(断电)丢失最后一段时间的数据,AOF可以很好的弥补最后丢失的操作
//如果AOF与RDB同时开启,Redis恢复时先读取AOF文件,如果不行再尝试读取RDB的文件
1. 是否开启AOF持久化模式
//默认是No状态,AOF与上面的RDB是可以同时运作的两种持久化模式。
//AOF是每当有更改操作(增删改)的时候,将当前操作记录在文档中,以达到相对完整持久化。最多丢失几秒的数据
appendonly no

2. 指定aof(Append Only File)文件名,默认为appendonly.aof
appendfilename appendonly.aof

3. 指定更新日志条件,共有3个可选值:     
//no:只让操作系统在需要的时候刷新数据(快)     
//always:每次写操作后,调用fsync异步同步将数据写到磁盘的aof文件(慢,安全)     
//everysec:每秒异步同步数据到磁盘的aof文件一次(折衷,默认值)
appendfsync everysec

四、客户端配置
1. 设置同一时间最大客户端连接数
//Redis可以同时打开的客户端连接数为Redis进程可以打开的最大文件描述符数,默认0 代表无限制
//一般来说在Linux系统下,一个文件可以创建无限制个文件描述符,但通常会被内核kernel限制为10%内存
//当客户端连接数到达限制时,Redis会向客户端返回最大连接错误信息
maxclients 10000

2. 客户端连接闲置X秒后被关闭
timeout 300

3. 设置Redis连接密码
//如果配置了连接密码,客户端连接Redis时需要通过AUTH <password>命令提供密码,默认关闭
//警告:由于Redis运行速度相当快,外部用户可以尝试高达每秒 150k 次登陆。这意味着需要强密码否则非常容易被破解。
requirepass foobared

//WARNING! Virtual Memory is deprecated in Redis 2.4

五、Redis系统设定
1. 指定Redis日志记录级别,默认为notice
//debug (全信息,对开发/测试很有用)
//verbose (许多罕有的有用信息,不像调试级别那么全面而混乱)
//notice (适度冗长,这可能是您在生产中想要的)
//warning (仅重要的,致命的信息)
loglevel notice

2. 指定Redis日志文件名
//""也用于Redis以standard output至日志
//注意,如果使用标准输出进行日志记录,且为守护进程模式则日志将被发送到/dev/null
logfile ""

3. 设置Redis数据库的数量
//默认数据库为0,可用运行时命令 SELECT <dbid> 选择当前使用的数据库
databases 16

4. 指定Redis最大内存限制
//达到最大内存后,Redis会先尝试清除已到期或即将到期的Key
//当此方法处理后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。
maxmemory <bytes>

5. 设定单个EntrySet集合最多存储个数。单个value最大值
//在超过一定的数量或者最大value的临界值时,采用另一种特殊的哈希算法
//小于临界值的时候,使用更加高效的数据结构对哈希进行编码
hash-max-ziplist-entries 512
hash-max-ziplist-value 64

6. 指定是否激活重置哈希,默认为开启
//rehash惰性策略:对哈希表进行越多操作,将有更多的 rehash 机会
//若Redis处于空闲状态则不会有机会完成 rehash 操作,这时哈希表会占用更多内存
activerehashing yes

六、主从模式相关设定
1. 设置当本机的master主机IP及端口
slaveof <masterip> <masterport>

2. 设置master链接密码
masterauth <master-password>

七、集群模式相关设定
1.启用集群模式
cluster-enabled yes

2.集群节点配置文件
cluster-config-file nodes-6379.conf

3.集群节点超时失联阈值
cluster-node-timeout 15000

最后:强推凌云大佬,质量至少是全网10%
2019.03 Redis系列博客

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值