redis简单了解一:(部署/主从复制)

最近工作用到了关于redis的一些东西,自己也上网查阅了一些资料,发现很多大牛总结都很好,自己也要把学习的点点滴滴记录下来。

主要看了一些redis的用法,包括redis安装、redis单例、redis集群、redis切片的简单理解。其实使用起来非常方便,也非常简单。对于一些比较深奥的东西还没研究到,只是一些简单的使用方法。

下面就进入正题吧:

一、单机部署

首先什么是redis呢?redis应该是一个类似于key-value的存储系统,当然他也支持几种数据结构,如:String、list、set、zset、hash。一般在工作过程中会作为数据缓存,当然redis也是支持持久化的。

由于是在mac上安装和学习的,所以这边只讲关于mac上的一些安装部署等,基本跟linux环境下类似。

关于redis,在学习之前需要安装三个东西:1、ruby 2、rubygem 3、redis。其中ruby和rubygem暂且理解为插件吧,需要安装的东西将在部署的过程中进行说明。

一、首先下载redis,网上也有多的例子,这里下载的是redis3.0.2版本, 下载完成后本地解压缩,进入解压目录下src目录输入make命令进行redis安装。注意 、当进行到这边的时候遇到一个小问题,报了一个找不到make命令的错误,最后的解决方法是在终端输入命令xcode-select --install进行安装命令行插件即可,当然网上也有好多解决方法是先下载一个xcode软件然后在里面进行操作,这种方法暂时没尝试过,相比较而言xcode-select --install应该简单一点吧。

安装完成redis之后,尝试启动服务,进入src目录输入:./redis-server命令启动redis,启动后如下图。

这样就启动完成了。下面就是连接redis,好吧,我们暂时先重新打开一个终端,然后再次进入src目录下面,是不是感到比较麻烦,一会下面会慢慢讲解,可以后台启动redis。在src目录下面输入./redis.cli连接进入redis如下图。

好了,到现在为止,redis的安装,启动还有连接就讲完了。这边我觉得要具体说一下关于redis启动和连接的两个命令,这两个命令其实是带参数的,在redis启动的时候如果只输入./redis-server命令会默认加载redis安装目录下的redis.config配置文件。这个配置文件的内容我剔除掉了一些,只给大家留了一些常用的配置,如下图。

一个参数一个参数的说明:

daemonize:这个就是设置redis后台启动的配置,如果为false的情况,就会出现上述启动redis之后不能继续输入命令的情况,得重新开启一个终端才可以。当然这边我配置的是yes,变成了后台运行。

port:redis的端口号,供客户端连接,默认一般是6379。

cluster-enabled:设置为ture表示reids集群启用。

cluster-config-file:redis集群配置文件信息

cluster-node-timeout:连接超时时间。

好叻,我们来测试一下刚刚启动的redis,向里面放入几个值然后再取出。

上面是redis默认情况下的启动,现在我需要修改一下redis的端口号,默认是6379,端口号的配置是在redis.conf文件里面的,启动的时候如果redis.server后面不带参数默认是安装根目录下的redis.conf配置文件,现在根目录下面复制一份redis.conf到src下面打开修改一下端口号信息


将端口号改成了6378,并且将daemonize改为yes,这时启动redis命令就要加参数了,应该是./redis.server ./redis.conf(刚刚修改的redis配置文件)。

可以看到redis启动没有显示启动信息,这就是把daemonize配置为yes,redis在后台启动的效果。连接redis也需要通过端口号进行连接,命令为:

2、redis主从复制:

先了解一下redis主从的一些特性:

1、redis 使用异步复制。从 redis 2.8 开始,slave 也会周期性的告诉 master 现在的数据量。

2、一个 master 可以拥有多个 slave,且与slave同步数据是异步进行的。

3、slave 可以接收来自其他 slave 的连接。

好了,我们还是直接进入实验吧。

一、redis主从复制

首先开启三个实例,命令分别为:

redis-server --port 1001 --daemonize yes

redis-server --port 1002 --daemonize yes

redis-server --port 1003 --daemonize yes

这里解释一下,redis启动的时候端口号默认为6379,我们可以通过修改配置文件来修改启动实例的端口号和后台启动配置。另外一种方法就是上面这种命令方式,在命令中跟参数--port 1001表示启动端口为1001,--daemonize yes表示默认后台启动。好了,现在启动完了三个端口号分别为1001、1002、1003的实例,输入ps aux|grep redis可以看到当前的redis进程如图:


既然是主从复制,那么我们要建立主从关系,这里准备将9002和9003设置为9001的从属redis,进入连接进入9002和9003,输入slaveof 127.0.0.1 1001即可:


设置完主从配置,我们来试验一下,首先看下三台机器上有没有“test01”这条数据,

三个实例中都是没有数据的,现在我们向主redis放入值,

再次在10001、02、03上看是否已经有值。


可以看到在9001端口上放的值已经同步到9002和9003上了。另外要追加说明一点的是,redis中slave只能读不去写入值。

时间: 2024-08-24 09:42:11

redis简单了解一:(部署/主从复制)的相关文章

Redis的安装配置及简单集群部署

最近针对中铁一局项目,跟事业部讨论之后需要我们的KF平台能够接入一些开源的数据库,于是这两天研究了一下Redis的原理. 1. Redis的数据存储原理及简述 1.1Redis简述 Redis是一个基于内存且支持持久化的key-value的NoSQL数据库,其中每个key和value都是使用对象表示的,具有以以下特征:多样数据类型.持久化.主从同步.它支持存储的value类型包括string(字符串).list(链表).hash(哈希).set(集合)和zset(有序集合).这些数据类型都支持p

centos6下redis cluster集群部署过程

一般来说,redis主从和mysql主从目的差不多,但redis主从配置很简单,主要在从节点配置文件指定主节点ip和端口,比如:slaveof 192.168.10.10 6379,然后启动主从,主从就搭建好了.redis主从中如果主节点发生故障,不会自动切换,需要借助redis的Sentinel(哨兵模式)或者keepalive来实现主的故障转移. 今天介绍下redis cluster集群模式:redis集群是一个无中心的分布式redis存储架构,可以在多个节点之间进行数据共享,解决了redi

Linux下Redis的安装和部署

一.Redis介绍 Redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类型相对更多,包括string.list.set.zset和hash.这些数据类型都支持push/pop.add/remove及取交集并集和差集及更丰富的操作.在此基础上,Redis支持各种不同方式的排序. 和Memcache一样,Redis数据都是缓存在计算机内存中,不同的是,Memcache只能将数据缓存到

Redis简单使用(一)

1.Redis简介 Redis是一个开源的,使用C语言编写,面向“键/值”对类型数据的分布式NoSQL数据库系统,特点是高性能,持久存储,适应高并发的应用场景.Redis纯粹为应用而产生,它是一个高性能的key-value数据库,并且提供了多种语言的API性能测试结果表示SET操作每秒钟可达110000次,GET操作每秒81000次(当然不同的服务器配置性能不同). redis目前提供五种数据类型:string(字符串),list(链表), Hash(哈希),set(集合)及zset(sorte

Linux下Redis的安装和部署(转)

一.Redis介绍 Redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类型相对更多,包括string.list.set.zset和hash.这些数据类型都支持push/pop.add/remove及取交集并集和差集及更丰富的操作.在此基础上,Redis支持各种不同方式的排序. 和Memcache一样,Redis数据都是缓存在计算机内存中,不同的是,Memcache只能将数据缓存到

Linux下Redis的安装和部署 详细

一.Redis介绍 Redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类型相对更多,包括string.list.set.zset和hash.这些数据类型都支持push/pop.add/remove及取交集并集和差集及更丰富的操作.在此基础上,Redis支持各种不同方式的排序.和Memcache一样,Redis数据都是缓存在计算机内存中,不同的是,Memcache只能将数据缓存到内

深入学习Redis(3):主从复制

原文:深入学习Redis(3):主从复制 前言 在前面的两篇文章中,分别介绍了Redis的内存模型和Redis的持久化. 在Redis的持久化中曾提到,Redis高可用的方案包括持久化.主从复制(及读写分离).哨兵和集群.其中持久化侧重解决的是Redis数据的单机备份问题(从内存到硬盘的备份):而主从复制则侧重解决数据的多机热备.此外,主从复制还可以实现负载均衡和故障恢复. 这篇文章中,将详细介绍Redis主从复制的方方面面,包括:如何使用主从复制.主从复制的原理(重点是全量复制和部分复制.以及

Redis 第二种安装部署方法

Redis 第二种安装部署方法

Redis的安装和部署(Linux)

一.Redis介绍 Redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类型相对更多,包括string.list.set.zset和hash.这些数据类型都支持push/pop.add/remove及取交集并集和差集及更丰富的操作.在此基础上,Redis支持各种不同方式的排序. 和Memcache一样,Redis数据都是缓存在计算机内存中,不同的是,Memcache只能将数据缓存到

session 保存到 redis 简单实现

参考资料: [session保存到redis简单实现]http://blog.csdn.net/ppt0501/article/details/46700221 [Redis学习]http://blog.csdn.net/can007/article/details/19848559