redis 安装配置学习笔记

//wget http://download.redis.io/releases/redis-2.8.17.tar.gz

下载最新版本

wget http://download.redis.io/redis-stable.tar.gz

首先必须要有 gcc 与 make

apt-get install gcc

apt-get install make

1、解压

root@localhost:~# tar -xvf redis-stable.tar.gz

2、测试

root@localhost:~/redis-stable# ./runtest

You need tcl 8.5 or newer in order to run the Redis test

提示需要安装tcl

make完成后,在原src目录下,会生成出六个exe(可执行程序),服务端只需要redis-server.exe即可

3、运行redis

后台方式启动redis

./redis-server &

启动redis客户端链接

./redis-cli

输入ping 返回pong 即为安装成功

扩展知识:

redis-cli用法:redis-cli [OPTIONS] [cmd [arg [arg ...]]]

-h <主机ip>,默认是127.0.0.1

-p <端口>,默认是6379

-a <密码>,如果redis加锁,需要传递密码

--help,显示帮助信息

如:redis-cli -h 192.168.1.103 -p 6379

考虑到redis是单线程工作,因此一般是一台电脑上,启动多个redis实例。

启动方式二

使用配置文件启动

./redis-server redis.conf &

配置示例在 src目录的父级目录里有。也可以进行查找

find / -name redis.conf

4、redis主从配置

Redis的主从复制功能非常强大,一个master可以拥有多个slave,而一个slave又可以拥有多个slave,如此下去,形成了强大的多级服务器集群架构。

1).master可以有多个slave

2).除了多个slave连到相同的master外,slave也可以连接其他slave形成图状结构

3).主从复制不会阻塞master。也就是说当一个或多个slave与master进行初次同步数据时,master可以继续处理client发来的请求。相反slave在初次同步数据时则会阻塞不能处理client的请求。

4).主从复制可以用来提高系统的可伸缩性,我们可以用多个slave 专门用于client的读请求,比如sort操作可以使用slave来处理。也可以用来做简单的数据冗余

5).可以在master禁用数据持久化,只需要注释掉master 配置文件中的所有save配置,然后只在slave上配置数据持久化。

参考文档:http://blog.csdn.net/done58/article/details/50997817

环境描述:
主redis:127.0.0.1  6379
从redis:127.0.0.1  6380

主配置文件:redis.conf (不用更新,重点关注下面两个参数)

port 6379

pidfile /var/run/redis_6379.pid

从配置文件 redis2.conf (需要更改下面的参数)

port 6380

pidfile /var/run/redis_6380.pid

slaveof 
localhost 6379

先启动主 再启动从 。

redis 主从默认是读写分离。主为读写,从为读。

主从复制过程:

1):当一个从数据库启动时,会向主数据库发送sync命令,

2):主数据库接收到sync命令后会开始在后台保存快照(执行rdb操作),并将保存期间接收到的命令缓存起来

3):当快照完成后,redis会将快照文件和所有缓存的命令发送给从数据库。

4):从数据库收到后,会载入快照文件并执行收到的缓存的命令。

5、默认是读写分离的

6、redis 主从切换

1)停止主节点

2)切换从节点为主节点

./redis-cli -p 6380 slaveof NO ONE

3)测试从节点是否可读写

4)当主节点恢复工作后,要及时更新从节点,设置为主节点的从节点。

7、redis数据保存

1、快照(snapshots)

缺省情况情况下,Redis把数据快照存放在磁盘上的二进制文件中,文件名为dump.rdb。你可以配置Redis的持久化策略,例如数据集中每N秒钟有超过M次更新,就将数据写入磁盘;或者你可以手工调用命令SAVE或BGSAVE。

工作原理

Redis forks.

子进程开始将数据写到临时RDB文件中。

当子进程完成写RDB文件,用新文件替换老文件。

这种方式可以使Redis使用copy-on-write技术。

相关参数

save 900 1

save 300 10

save 60 10000

保存的目录

dir ./

示例:

命令

save 进行保存

scp 复制到另外一台机器的存储目录,而后重新启动那台机器,就可以看到数据复制了。

scp
dump.rdb root@192.168.0.149:/usr/local/redis/bin/
root@192.168.0.149's password: 
dump.rdb

8、redis集群 (3.0版本以后实现的)

(个人理解:把各redis 组成一个圆,每个圆负责一部分hash槽。圆中的各节点不复制数据。 圆中的各节点均提供一个主从备份实现高可用。)

3.0之后的功能,至少需要3(Master)+3(Slave)才能建立集群,是无中心的分布式存储架构,可以在多个节点之间进行数据共享,解决了Redis高可用、可扩展等问题。

Redis集群提供了以下两个好处

1、将数据自动切分(split)到多个节点

2、当集群中的某一个节点故障时,redis还可以继续处理客户端的请求。

一个 redis 集群包含 16384 个哈希槽(hash
slot),数据库中的每个数据都属于这16384个哈希槽中的一个。集群使用公式 CRC16(key) % 16384 来计算键 key 属于哪个槽。集群中的每一个节点负责处理一部分哈希槽。

集群中的主从复制

集群中的每个节点都有1个至N个复制品,其中一个为主节点,其余的为从节点,如果主节点下线了,集群就会把这个主节点的一个从节点设置为新的主节点,继续工作。这样集群就不会因为一个主节点的下线而无法正常工作

注意:

1、如果某一个主节点和他所有的从节点都下线的话,redis集群就会停止工作了。redis集群不保证数据的强一致性,在特定的情况下,redis集群会丢失已经被执行过的写命令。

2、使用异步复制(asynchronous replication)是redis 集群可能会丢失写命令的其中一个原因,有时候由于网络原因,如果网络断开时间太长,redis集群就会启用新的主节点,之前发给主节点的数据就会丢失。

集群什么时候会挂掉(集群是多个master组成的圆,各master有多个salve)

a:如果集群任意master挂掉,且当前master没有slave.集群进入fail状态,也可以理解成进群的slot映射[0-16383]不完成时进入fail状态.

b:如果进群超过半数以上master挂掉,无论是否有slave集群进入fail状态

redis 集群实战参数地址:http://blog.csdn.net/myrainblues/article/details/25881535/

9、redis监控

http://blog.csdn.net/u011204847/article/details/51307044

redis 安装配置学习笔记的更多相关文章

  1. Hive0.11安装配置学习笔记

    转:http://springsfeng.iteye.com/blog/1734517 1 . 首先请安装好MySQL并修改root账户密码,使用root账户执行下面命令:  su - root    ...

  2. Chapter 2. OpenSSL的安装和配置学习笔记

    Chapter 2. OpenSSL的安装和配置学习笔记 2.1 在linux上面安装OpenSSL我还是做点No paper事情比较在行,正好和老师的课程接轨一下.以前尝试过在Windows上面安装 ...

  3. Android安装器学习笔记(一)

    Android安装器学习笔记(一) 一.Android应用的四种安装方式: 1.通过系统应用PackageInstaller.apk进行安装,安装过程中会让用户确认 2.系统程序安装:在开机的时候自动 ...

  4. Redis集群学习笔记

    Redis集群学习笔记 前言 最近有个需求,就是将一个Redis集群中数据转移到某个单机Redis上. 迁移Redis数据的话,如果是单机Redis,有两种方式: a. 执行redis-cli shu ...

  5. 【Redis】命令学习笔记——键(key)(20个超全字典版)

    安装完redis和redis-desktop-manager后,开始学习命令啦!本篇基于redis 4.0.11版本,从对键(key)开始挖坑! 准备工作,使用db1(默认db0,由于之前练习用db0 ...

  6. centos6 安装配置ss笔记

    2018-05-17 centos6 安装配置ss笔记 操作环境:Centos 6 x86_64 bbr 服务器地址:美国 1.准备VPS 在https://www.bwh1.net可购买,购买时已默 ...

  7. Linux中redis安装配置及使用详解

    Linux中redis安装配置及使用详解 一. Redis基本知识 1.Redis 的数据类型 字符串 , 列表 (lists) , 集合 (sets) , 有序集合 (sorts sets) , 哈 ...

  8. 【Redis】命令学习笔记——列表(list)+集合(set)+有序集合(sorted set)(17+15+20个超全字典版)

    本篇基于redis 4.0.11版本,学习列表(list)和集合(set)和有序集合(sorted set)相关命令. 列表按照插入顺序排序,可重复,可以添加一个元素到列表的头部(左边)或者尾部(右边 ...

  9. 【Redis】命令学习笔记——哈希(hash)(15个超全字典版)

    本篇基于redis 4.0.11版本,学习哈希(hash)相关命令. hash 是一个string类型的field和value的映射表,特别适合用于存储对象. 序号 命令 描述 实例 返回 HSET ...

随机推荐

  1. maven 项目编译失败

    tomcat 加载项目启动后 提示  找不到web-context配置 或者某一个类加载错误 发生在 从根目录新导入新的 未打开项目之后 install 失败  java 文件未编译成 class 解 ...

  2. 在table表格中实现圆角效果

    在table中设置border-radius发现不起作用,网上查找了一番,原因是border-collapse:collapse和border-radius不兼容. 设计图效果 代码实现效果: < ...

  3. Python- - -基础目录

    一.Python.pycharm的介绍与安装. 二.变量.整数.字符串.列表.字典.集合. 三.运算符.格式化输出.流程控制语句. 四.break和continue. 五.range.enumerat ...

  4. html5(四) canvas

    http://www.cnblogs.com/Gyoung/archive/2013/04/08/2994515.html

  5. Python3+SQLAlchemy+Sqlite3实现ORM教程

    一.安装 Sqlite3是Python3标准库不需要另外安装,只需要安装SQLAlchemy即可.本文sqlalchemy版本为1.2.12 pip install sqlalchemy 二.ORM操 ...

  6. java虚拟机之虚拟机类加载机制

    此处主要需要知道什么是java虚拟机?java虚拟机如何进行类加载的? java语言本身是编译型和解释型的语言,先对本地的java文件进行编译,编译后会在本地生成一个class文件,而这个生成的cla ...

  7. linux服务管理 服务启动和自启动

    服务启动和自启动 '服务启动' 就是在当前系统中让服务运行,并提供功能 '服务自启动' 自启动是指服务在系统开机或重启动之后,随着启动系统的启动而自动启动服务 服务自启动 [root@ssgao198 ...

  8. 数位dp讲解及模板

    转载自:传送门 数位DP其实是很灵活的,所以一定不要奢求一篇文章就会遍所有数位DP的题,这一篇只能是讲清楚一种情况,其他情况遇到再总结,在不断总结中慢慢体会这个思想,以后说不定就能达到一看到题目就能灵 ...

  9. ubuntu 安装 nvm 管理Node.js 以及vim 插件增强

    安装curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bashsource ~/.bashr ...

  10. Alpha冲刺8

    前言 队名:拖鞋旅游队 组长博客:https://www.cnblogs.com/Sulumer/p/10023260.html 作业博客:https://edu.cnblogs.com/campus ...