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. Go(二)函数

    函数是一等公民 与其他主要编程语言的差异 1.可以有多个返回值 2.所有参数都是值传递 slice.map.channel会有传引用是错觉,如切片背后是数组,是一个数据结构,里面包含了指向对应数组的指 ...

  2. Selenium之WebDriverWait

    转自https://blog.csdn.net/duzilonglove/article/details/78455051 Selenium之WebDriverWait用法

  3. magento 站内优化和站外优化详解

    关于Magento如何如何我就不做评论了,一句话,谁用谁知道,搜索了下,百度和谷歌中文里还真没有一篇系统的关于magento seo的内容,花了一个上午的时间,稍微整理了一下,算是给新人一个指引吧.主 ...

  4. mac 格式化U盘

    作者:Bailm链接:https://www.zhihu.com/question/27888608/answer/486347894来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载 ...

  5. 彻底理解 JS 中 this 的指向

    首先必须要说的是,this的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定this到底指向谁,实际上this的最终指向的是那个调用它的对象(这句话有些问题,后面会解释为什么会有问题,虽然 ...

  6. 自己总结的CSS3中transform变换、transition过渡、animation动画的基本用法

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  7. win10 解决telnet不是内部或外部命令的方案

    1.Telnet用于远程操作互联网中的设备或终端计算机服务器,可以有效的减少现场操作的麻烦.因为设备或终端是遍布整个省或市,有的甚至是国外,如何高效的处理问题是当务之急,除了telnet还可以ssh使 ...

  8. (10)C++ 使用类

    一.运算符重载 1. #include<iostream> using namespace std; class Sum { int add; public: Sum(int add) { ...

  9. oracle使用execute immediate方式完成函数动态传入表名并操作 返回新的主键id值

    CREATE OR REPLACE FUNCTION SEQ1 (v_bname in VARCHAR2) return NUMBER is v_bcount NUMBER; BEGIN execut ...

  10. ORA-06550/PLS-00103

    原因是单引号‘是需要加转义字符的(即‘—>“)