1. redis笔记一
  2. redis笔记二
  3. redis笔记三

1.安装

cd /usr/src   #进入下载目录(这个目录自己定)
yum install -y wget gcc make tcl #安装依赖
wget http://download.redis.io/releases/redis-3.2..tar.gz #下载源码包
tar -zxvf redis-3.2..tar.gz #解压
cd redis-3.2. #进入redis目录
make && make test #编译与测试
make install PREFIX=/usr/local/redis #PREFIX安装指定目录

2.启动

1.单机启动

./bin/redis-server  #启动redis服务

2.哨兵模式

1.在/usr/local/ 下新建一个目录redis-sentinel,然后创建三个文件夹
mkdir /usr/local/redis-sentinel
mkdir /usr/local/redis-sentinel/{,,,}
2.将redis安装目录下配置文件reids.conf拷贝8333,8334文件夹下,将其中一些配置自定义如下(其他配置不变):
            #Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程
daemonize yes
#当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定
pidfile /var/run/redis_8333.pid
#指定Redis监听端口,默认端口为6379,作者在自己的一篇博文中解释了为什么选用6379作为默认端口,因为6379在手机按键上MERZ对应的号码,而MERZ取自意大利歌女Alessia Merz的名字
port 8333
#绑定的主机地址(如虚拟机上设置了两个网卡两个Ip:134,133.若bind了134的ip,则通过133不能访问到该redis服务)
bind 192.168.37.134
#日志记录方式,默认为标准输出,日志输出至指定日志文件
logfile "./redis-8333.log"
#指定本地数据库存放目录
dir "/usr/local/redis-sentinel/8333"
#当master服务设置了密码保护时,slave服务连接master的密码
masterauth admin.123
#设置Redis连接密码,如果配置了连接密码,客户端在连接Redis时需要通过AUTH <password>命令提供密码,默认关闭
requirepass admin.123
#指定是否在每次更新操作后进行日志记录,Redis在默认情况下是异步的把数据写入磁盘,如果不开启,可能会在断电时导致一段时间内的数据丢失。
#因为 redis本身同步数据文件是按上面save条件来同步的,所以有的数据会在一段时间内只存在于内存中。默认为no
appendonly yes
#设置当本机为slave服务时,设置master服务的IP地址及端口,在Redis启动时,它会自动从master进行数据同步(本例以8333端口的为主,8334为从,故以下只需在8334配置中即可)
slaveof 192.168.37.134 8333
3.将redis安装目录下的sentinel.conf拷贝8335,8336文件夹下,其自定义配置如下:
            #============================================自定义配置开始========================================
#Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程
daemonize yes
#指定Redis监听端口,默认端口为6379,作者在自己的一篇博文中解释了为什么选用6379作为默认端口,因为6379在手机按键上MERZ对应的号码,而MERZ取自意大利歌女Alessia Merz的名字
port 8336
#指定本地数据库存放目录
dir "/usr/local/redis-sentinel/8336"
#日志记录方式,默认为标准输出,日志输出至指定日志文件
logfile "./sentinel.log"
#指定别名 主节点地址 端口 哨兵个数(有几个哨兵监控到主节点宕机执行转移)
sentinel monitor mymaster 193.168.37.134 8333 1
#如果哨兵3s内没有收到主节点的心跳,哨兵就认为主节点宕机了,默认是30秒
sentinel down-after-milliseconds mymaster 3000
#选举出新的主节点之后,可以同时连接从节点的个数
sentinel parallel-syncs mymaster 1
#如果10秒后,master仍没活过来,则启动failover,默认180s
sentinel failover-timeout mymaster 10000
#配置连接redis主节点密码
sentinel auth-pass mymaster admin.1231
#============================================自定义配置结束========================================
4.启动redis服务(在make安装目录中bin文件夹下)
4.1.先启动主从
                [root@localhost bin]# redis-server /usr/local/redis-sentinel/8333/redis-8333.conf
[root@localhost bin]# redis-server /usr/local/redis-sentinel/8334/redis-8334.conf
查看服务信息
[root@localhost bin]# redis-cli -h 192.168.37.134 -p 8333 -a admin.1231
192.168.37.134:8333> info replication
# Replication
role:master
connected_slaves:1
slave0:ip=192.168.37.134,port=8334,state=online,offset=57,lag=0
master_repl_offset:57
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:2
repl_backlog_histlen:56
4.2.启动哨兵
                [root@localhost bin]# redis-sentinel /usr/local/redis-sentinel/8335/redis-8335.conf
[root@localhost bin]# redis-sentinel /usr/local/redis-sentinel/8336/redis-8336.conf
4.3.查看进程
                [root@localhost bin]# ps -ef | grep redis
root 26149 1 0 14:58 ? 00:00:01 redis-server 192.168.37.134:8333
root 26153 1 0 14:58 ? 00:00:01 redis-server 192.168.37.134:8334
root 26188 1 0 15:04 ? 00:00:02 redis-sentinel *:8335 [sentinel]
root 26230 1 0 15:06 ? 00:00:02 redis-sentinel *:8336 [sentinel]
root 26281 1382 0 15:26 pts/0 00:00:00 grep --color=auto redis

启动后若外网访问不了

1.查看防火墙是否放开端口
那怎么开启一个端口呢
添加
firewall-cmd --zone=public --add-port=8333/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
重新载入
firewall-cmd --reload
查看
firewall-cmd --zone=public --query-port=8333/tcp
删除
firewall-cmd --zone=public --remove-port=8333/tcp --permanent
2.配置中bind是否错误
3.密码是否错误

redis相关笔记(一.安装及单机及哨兵使用)的更多相关文章

  1. redis 学习笔记1(安装以及控制台命令)

    为什么要学习这个? 分布式技术必会,得益于redis的设计理念,内存数据库,epoll(多路复用)模型,单线程模型除去了锁和上下文切换,提高了性能.单线程保证执行顺序(轮询),在分布式环境下对于数据的 ...

  2. redis相关笔记(二.集群配置及使用)

    redis笔记一 redis笔记二 redis笔记三 1.配置:在原redis-sentinel文件夹中添加{8337,8338,8339,8340}文件夹,且复制原8333中的配置 在上述8333配 ...

  3. redis相关笔记(三.redis设计与实现(笔记))

    redis笔记一 redis笔记二 redis笔记三 1.数据结构 1.1.简单动态字符串: 其属性有int len:长度,int free:空闲长度,char[] bur:字符数组(内容) 获取字符 ...

  4. Redis学习笔记(十五)Sentinel(哨兵)(中)

    上一篇 我们模拟了单机器下哨兵模式的搭建,那么接下来我们看下哨兵模式的实现与工作. 为什么又分成两篇呢?因为篇幅太长(偷懒),再一个这篇主要说的是Sentinel的初始化以及信息交换,下一篇着重说下状 ...

  5. Redis学习笔记(十四)Sentinel(哨兵)(上)

    最近谈到Redis就会听到哨兵模式,工作期间同事也分享过关于哨兵模式的知识,但由于工作忙(给自己找个借口)没有没认真看,现在恶补下,老样子还是分上篇应用,下篇看实现过程,下面我们来看下哨兵到底是啥? ...

  6. Redis学习笔记(十六) Sentinel(哨兵)(下)

    消失了一段时间,我又回来啦.不多说,继续把哨兵看完. 检测主观下线状态 默认情况下,Sentinel会以每秒一次的频率向所有与他创建了命令连接的实例(主从服务器以及其他Sentinel)发送PING命 ...

  7. Redis安装(单机及各类集群,阿里云)

    Redis安装(单机及各类集群,阿里云) 前言 上周,我朋友突然悄悄咪咪地指着手机上的一篇博客说,这是你的博客吧.我看了一眼,是之前发布的<Rabbit安装(单机及集群,阿里云>.我朋友很 ...

  8. Redis学习笔记之Redis单机,伪集群,Sentinel主从复制的安装和配置

    0x00 Redis简介 Redis是一款开源的.高性能的键-值存储(key-value store).它常被称作是一款数据结构服务器(data structure server). Redis的键值 ...

  9. Redis学习笔记(二)-key相关命令【转载】

    转自 Redis学习笔记(二)-key相关命令 - 点解 - 博客园http://www.cnblogs.com/leny/p/5638764.html Redis支持的各种数据类型包括string, ...

随机推荐

  1. 内嵌iframe撑高父容器,底部有4px留白问题解决办法

    由于iframe是特殊标签, 1,iframe默认是块元素,其display样式默认值是block2,frame应该说即不是块元素也不是行内元素,它虽然有display样式,但其默认值是none3,f ...

  2. python核心编程socket备忘

    服务器端: # Echo server program from socket import * from time import ctime HOST = '' # Symbolic name me ...

  3. JS的加载和执行

    从JS的加载和执行谈性能优化 ---高性能JS读后感(第一章) 从脚本的"霸道"说起,随着浏览器的进步,js越来越听话了,所以,我们先说说以前的浏览器是怎么加载js的,以及js如何 ...

  4. iOS项目开发中的知识点与问题收集整理②

    1.点击UIButton 无法产生触摸事件    如果在UIImageView中添加了一个按钮,你会发现在默认情况下这个按钮是无法被点击的,需要设置UIImageView的userInteractio ...

  5. paper 138:qt安装及问题解决

    学习了很久的QT,遇到很多很多的问题,下面总结一下安装过程中遇到的问题吧, 1 下载QT 1)进入官网:https://www.qt.io/ 2)点击Download:https://www.qt.i ...

  6. C# Winform版批量压缩图片程序

    需求 上周,领导给我分配了一个需求:服务器上的图片文件非常大,每天要用掉两个G的大小的空间,要做一个自动压缩图片的工具处理这些大图片.领导的思路是这样的: 1)打开一个图片,看它的属性里面象素是多少, ...

  7. HTML-参考手册: HTML ISO-8859-1

    ylbtech-HTML-参考手册: HTML ISO-8859-1 1.返回顶部 1. HTML ISO-8859-1 参考手册 现代的浏览器支持的字符集: ASCII 字符集 标准 ISO 字符集 ...

  8. python3迷宫,多线程版

    上图: 直接上代码 #!/usr/bin/python3 #coding=GB2312 import tkinter as tk import threading import time import ...

  9. javascript函数调用的几种方式

    ​ function fn() { console.log(this.name); return "fn函数的返回值"; } /*1.方法调用*/ //方法调用,this指向win ...

  10. prim算法【最小生成树1】

    适用范围:要求无向图 prim算法(读者可以将其读作“普里姆算法”)用来解决最小生成树问题, 其基本思想是: ·对图G(VE)设置集合S,存放已被访问的顶点, ·然后每次从集合V-S中选择与集合S的最 ...