redis 安装配置学习笔记

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、解压

[email protected]:~# tar -xvf redis-stable.tar.gz

2、测试

[email protected]:~/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 [email protected]:/usr/local/redis/bin/
[email protected]‘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

时间: 2024-08-05 07:09:15

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

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

Chapter 2. OpenSSL的安装和配置学习笔记 2.1 在linux上面安装OpenSSL我还是做点No paper事情比较在行,正好和老师的课程接轨一下.以前尝试过在Windows上面安装过openSSL,这次正好在Linux上面实现一下. 希望各位园友门纠错,征求意见中. 2.1.1 安装OpenSSL的系统环境和编译环境 测试环境:Linux MINT 16 Petra ? 1 2 3 4 5 6 $ lsb_release -a #查看linux发行版本系统信息 No LSB

redis安装配置和使用;tomcat安装和使用

virtualbox主要有下面几种方式(不同版本称法不一样,但实质是一样的): 1.Intelnal Network:利用主机上的所有的虚拟机构建一个虚拟网络 2.NAT:能访问互联网,不能访问主机(或局域网)//通过这个下gcc 3.Host Interface:能访问主机(或局域网),不能访问互联网 修改过后 netstat restart 先确保Linux已安装gcc zmalloc.h:50:31: error: jemalloc/jemalloc.h: No such file or

Redis简介、安装、配置学习笔记

前一篇文章有介绍关系型数据库和非关系型数据库的差异,现在就来学习一下用的较广的非关系型数据库:Redis数据库 Redis 简介 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用. Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储

Linux下python3、virtualenv、Mysql、redis安装配置

一.在Linux安装python解释器 1.下载python3源码包 cd /opt/ wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz 2.下载python3编译的依赖包(复制粘贴下载即可) yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel read

redis 安装配置及持久化详解

一.redis简介 二.redis安装 三.redis配置文件详解 四.redis持久化详解 1.redis 简介 Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库.缓存和消息中间件. 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询. Redi

redis安装配置教程及phpredis扩展安装测试

作者:zhanhailiang 日期:2014-10-16 推荐阅读: Redis持久化策略 关于Redis更多资料阅读 1. 下载redis-2.8.17.tar.gz:http://download.redis.io/releases/redis-2.8.17.tar.gz: 2. 编译安装配置如下: [redis-2.8.17]# make [redis-2.8.17]# make PREFIX=/usr/local/redis-2.8.17 install [redis-2.8.17]#

第一天Redis安装配置

一.Redis简介 redis 是一个高性能的key-value数据库.redis的出现,很大程度补偿了memcached这类keyvalue存储的不足,在部分场合可以对关系数据库起到很好的补充作用.它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富.有字符串,链表,集合和有序集合.支持在服务器端计算集合的并,交和补集(difference)等,还支持多种排序功能.所以Redis也可以被看成是一个数据结构服务器. Redis的所有数据都是保存在内存中,然后不定期的通过异步方

php Laravel安装教程学习笔记

在一切环境就绪了,当然就要开始了解框架了. 站在巨人的肩膀上,学东西会事半功倍.我在网上找到一篇好文章,正好可以让我轻松了解Laravel应用程序的体系结构.因此借来直接用了. 该章节内容翻译自<Architecture of Laravel Applications>,一切版权为原作者,由于原作者写这篇文章时Laravel版本还没有到4.1,一些地方有稍微差别,我会稍作修改. 原作者:Stable Host, LLC(不知道找对了没有) 翻译作者:Bowen Huang 正文: Larave

CentOS 6.6下Redis安装配置记录

转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/120.html?1455855209 在先前的文章中介绍过redis,以下内容为自己在CentOS上安装Redis的记录.供后期在做改进. 1.安装需要的支持环境 在安装Redis之前首要先做的是安装Unix的Tcl工具?,如果不安装的话后期将无法对Redis进行测试.在后期执行make test的时候返回如下错误信息:You need tcl 8.xuyao de5 o