Redis安装及主从配置
一、何为Redis
redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类keyvalue存储的不足,在部分场合可以对关系数据库起到很好的补充作用。
二、安装Redis
1、安装前环境说明
楼主使用的是CentOS 6.5版本的Linux系统,IP为192.168.0.100。虚拟机工具使用的是VirtualBox。
2、下载Redis
Redis可以到官方网站上面进行下载:http://www.redis.io/download,现在最新的稳定版已经到2.8了。
这里使用的是redis-2.8.8.tar.gz。
3、安装步骤
下载redis-2.8.8.tar.gz使用ftp上传到linux系统的/opt目录下。
1)解压
进入linux系统的/opt目录下,执行如下命令进行解压:tar -zxvf redis-2.8.8.tar.gz。
解压之后会在当前目录下多出redis-2.8.8的文件夹,为了方便,我们将其改名:mv redis-2.8.8 redis。
解压之后Redis的目录结构如下图所示:

2)编译与安装
进入Redis目录下的src目录下,执行make命令来编译Redis。当楼主执行编译命令的时候,编译失败了,报了“/bin/sh: cc: command not found”的错误。原来是楼主的linux系统木有装gcc,而Redis是C实现的,所以需要gcc来进行编译。在网上搜索之后,发现一篇帖子,按照帖子上面的步骤解决了楼主的问题,在此表示感谢!下面附上该帖子的连接:http://xueliang1yi.blog.163.com/blog/static/1145570162012102114635764/,有遇到该问题的朋友可以参考一下。
安装完gcc之后,依次执行如下命令即可完成Redis的安装:
make
make test //检查一下 看有没有问题
make install
安装完之后,会在src目录下生成几个可执行文件,分别是mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-sentinel redis-server。其中redis-server是启动Redis服务的,redis-cli是进入Redis客户端的。
3)配置
在Redis的根目录下面有一个配置文件redis.conf,该配置文件可以对Redis进行基本的配置,配置参数可以查看《Redis配置参数说明》。楼主最开始只是简单的将daemonize参数设置为yes,目的是将Redis服务设置为后台开启,这样服务开启后就不会占用当前session了。
4、测试
安装完之后,我们来对其进行测试。
首先,为了方便起见,我们将src下的可执行命令全部移动到/usr/local/redis/bin/目录下,执行该命令:mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-sentinel redis-server /usr/local/redis/bin,然后将配置文件移动到/usr/local/redis/etc/目录下,执行该命令:mv redis.conf /usr/local/redis/etc/。
进入/usr/local/redis/bin/目录下执行./redis-server /usr/local/redis/etc/redis.conf命令开启Redis服务。注意:开启redis服务需要指定配置文件,如不指定配置文件则加载默认配置文件。
开启之后我们执行netstat -tunpl | grep 6379命令来查看6379端口使用情况,如果出现下图情况,则说明6379端口已经被redis-server占用了,表示redis服务已经成功启动。

然后执行./redis-cli进入redis客户端,然后进行简单的set、get操作来测试一下。

好,到此Redis已经成功安装了。
三、Redis主从配置
Redis的主从复制功能非常强大,一个master可以拥有多个slave,而一个slave又可以拥有多个slave,如此下去,形成了强大的多级服务器集群架构。下面楼主简单的进行一下配置。
1、上面安装好的一个Redis作为master,然后使用VirtualBox的虚拟机克隆功能将刚刚那个linux系统克隆一份作为slave,并修改其IP为192.168.0.110。
2、修改slave的redis配置文件:
slaveof 192.168.0.100 6379 (映射到主服务器上)
如果master设置了验证密码,还需配置masterauth。楼主的master设置了验证密码为admin,所以配置masterauth admin。
配置完之后启动slave的Redis服务,OK,主从配置完成。下面测试一下:
在master和slave分别执行info命令,查看结果如下:
master:

slave:

然后在master执行set age 24
在slave执行get age,看是否能得到24,如果能够得到值则说明配置成功。
Redis安装及主从配置的更多相关文章
- Redis安装、主从配置及两种高可用集群搭建
Redis安装.主从配置及两种高可用集群搭建 一. 准备 Kali Linux虚拟机 三台:192.168.154.129.192.168.154.130.192.168.154 ...
- Redis 安装,主从配置及Sentinel配置自动Failover
1.安装redis 首页地址:http://redis.io/ 下载地址:http://download.redis.io/ 下载最新的源码包 tar -zxvf redis-stable.tar.g ...
- Redis安装及主从配置(转)
一.何为Redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合)和zset(有 ...
- Redis安装、主从配置及aof使用
找了02,03,04三台机器,04做主,02做从,03做客户端. 都使用jumbo install redis安装了Redis(server+client). 在 02 从的 ~/.jumbo/etc ...
- DNS服务器:主要介绍DNS的服务原理以及安装及其主从配置
DNS服务器:主要介绍DNS的服务原理以及安装及其主从配置 一.DNS简介 1.DNS DNS是域名系统(Domain Name System)的简称,它是一个将域名和IP相互映射的分布式数据库 ...
- redis安装以及安全配置
redis安装以及安全配置 1. 安装 sudo apt-get install redis-server 使用which查询redis执行体安装路径: which redis-server #/us ...
- Linux之redis的安装,主从配置
一,redis安装 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(s ...
- Redis入门及主从配置
1.Redis入门简介 Redis是一个开源的使用ANSI C语音编写.支持网络.可基于内存亦可持久化的日志型,Key-Value数据库.支持存储的value类型包括 string(字符串).list ...
- Redis安装以及主从实现
Redis简介 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串). list(链表).set(集合)和zset(有序 ...
随机推荐
- Oracle数据库习题
以下习题都已Oracle数据库中默认表为主体 1.列出至少有一个员工的所有部门. SELECT DISTINCT D.DNAME FROM EMP E,DEPT D WHERE E.DEPTNO=D. ...
- 根据地图上的两个点各自的x,y坐标,计算出2点之间的直线距离。显示为公里、米
/** * calc_map_distance() , 根据地图上的两个点各自的x,y坐标,计算出2点之间的直线距离 * @param array $point_1 第1个点的x,y坐标 array( ...
- Linux TC流量控制HOWTO中文版
<本文摘自Linux的高级路由和流量控制HOWTO中文版 第9章节>网人郭工进行再次编译: 利用队列,我们可以控制数据发送的方式.记住我们只能对发送数据进行控制(或称为整形).其实,我们无 ...
- date_default_timezone_set()设置时区
<?php echo function_exists(date_default_timezone_set)."<br>";//在这他总是返回1,这函数是判断这里面 ...
- C++资料收集&整理
类别 地址 ZLib c++ zlib(qt)压缩与解压缩 STL STL学习之map容器(2)_insert Basic std::nothrow new (nothrow) T() 的原理 C++ ...
- js中的this指针(二)
在 js 中声明并定义一个函数后,除了定义时传入的形式参数,函数还会接收到 2 个附加的参数:this 和 arguments. this 指针的值取决于调用时的模式. 当这个函数被保存为对象的一个属 ...
- Python copy and deepcopy
Python中的对象之间赋值时是按引用传递的,如果需要拷贝对象,需要使用标准库中的copy模块. 1. copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象. 2. copy.deep ...
- java的读文件操作
java读取文件内容,可以作如下理解: 首先获得一个文件句柄,File file = new File():file即为文件句柄.两人之间联通电话网络了,就可以开始打电话了. 通过这条线路读取甲方的信 ...
- php微信接口实例
<?php /** * wechat php test */ //define your token //定义TOKEN秘钥 define("TOKEN", "we ...
- hadoop实战之分布式模式
环境 192.168.1.101 host101 192.168.1.102 host102 1.安装配置host101 [root@host101 ~]# cat /etc/hosts |grep ...