一、何为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安装及主从配置的更多相关文章

  1. Redis安装、主从配置及两种高可用集群搭建

    Redis安装.主从配置及两种高可用集群搭建 一.            准备 Kali Linux虚拟机 三台:192.168.154.129.192.168.154.130.192.168.154 ...

  2. Redis 安装,主从配置及Sentinel配置自动Failover

    1.安装redis 首页地址:http://redis.io/ 下载地址:http://download.redis.io/ 下载最新的源码包 tar -zxvf redis-stable.tar.g ...

  3. Redis安装及主从配置(转)

    一.何为Redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合)和zset(有 ...

  4. Redis安装、主从配置及aof使用

    找了02,03,04三台机器,04做主,02做从,03做客户端. 都使用jumbo install redis安装了Redis(server+client). 在 02 从的 ~/.jumbo/etc ...

  5. DNS服务器:主要介绍DNS的服务原理以及安装及其主从配置

    DNS服务器:主要介绍DNS的服务原理以及安装及其主从配置 一.DNS简介 1.DNS    DNS是域名系统(Domain Name System)的简称,它是一个将域名和IP相互映射的分布式数据库 ...

  6. redis安装以及安全配置

    redis安装以及安全配置 1. 安装 sudo apt-get install redis-server 使用which查询redis执行体安装路径: which redis-server #/us ...

  7. Linux之redis的安装,主从配置

    一,redis安装 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(s ...

  8. Redis入门及主从配置

    1.Redis入门简介 Redis是一个开源的使用ANSI C语音编写.支持网络.可基于内存亦可持久化的日志型,Key-Value数据库.支持存储的value类型包括 string(字符串).list ...

  9. Redis安装以及主从实现

    Redis简介 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串). list(链表).set(集合)和zset(有序 ...

随机推荐

  1. Python培训12期-day2作业-购物车

    #!/usr/bin/env python import sys import os import getpass 商品={ '图书': { "<Puppet实战>": ...

  2. lucene教程简介

    1 lucene简介 1.1 什么是lucene     Lucene是一个全文搜索框架,而不是应用产品.因此它并不像www.baidu.com 或者google Desktop那么拿来就能用,它只是 ...

  3. JSP基础总结 脚本元素

    JSP脚本元素 1.  JSP声明语句 JSP声明语句以<%!开始,以%>结束,其语法格式为:<%! 声明语句 %> 使用声明语句的变量为全局变量,也就是说,当有多个用户在执行 ...

  4. firefox 不识别background-position-y / background-position-x

    火狐不识别background-position-y 或background-position-x; 案例: 页面: 背景图: 一列按钮,点击时让当前背景图的background-position-y ...

  5. 腾讯优测-优社区干货精选 | android开发在路上:少去踩坑,多走捷径(下)

    文/腾讯公司 陈江峰 优测小优有话说: android开发的坑自然是不少,不想掉坑快来优测优社区~ 6.Android APP开发中其它需要提醒的问题 android4.4在UI线程无法进行网络操作. ...

  6. HDU 4473 Exam 枚举

    原题转化为求a*b*c <=n中选出两个数组成有序对<a,b>的选法数. 令a<=b<=c.... 分情况讨论: (1)全部相等,即a = b = c. 选法有n^(1/ ...

  7. linux服务之irqbalance

    irqbalance 理论上:启用 irqbalance 服务,既可以提升性能,又可以降低能耗.irqbalance 用于优化中断分配,它会自动收集系统数据以分析使用模式,并依据系统负载状况将工作状态 ...

  8. Hbase客户端API基础小结笔记(未完)

    客户端API:基础 HBase的主要客户端接口是由org.apache.hadoop.hbase.client包中的HTable类提供的,通过这个类,用户可以完成向HBase存储和检索数据,以及删除无 ...

  9. Socket的三个功能类TCPClient、TCPListener 和 UDPClient (转)

    应用程序可以通过 TCPClient.TCPListener 和 UDPClient 类使用传输控制协议 (TCP) 和用户数据文报协议 (UDP) 服务.这些协议类建立在 System.Net.So ...

  10. 56. Edit Distance && Simplify Path

    Edit Distance Given two words word1 and word2, find the minimum number of steps required to convert ...