一、简介
    Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。

在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。

Redis是一个高性能的key-value数据库。redis的出现,很大程度弥补了memcached这类key-value存储的不足,在部分场合可以对关系数据库起到很好的补充作用。它提供了Python,Ruby,Erlang,Go, PHP客户端,使用很方便。

二、安装前准备

1.必需的编译工具:
  1.1 检查编译工具  gcc 和 gcc-c++ 是否已安装,参考命令:
      # rpm -qa | grep gcc
      # rpm -qa | grep gcc-c++
     
      如果没有安装,推荐yum安装,参考命令:
      # yum install -y gcc gcc-c++

1.2 安装或升级编译工具 gcc44 、 gcc44-c++ 、 libstdc++44-devel 或更高版本:
      # rpm -qa | grep "gcc*"
      # rpm -qa | grep "libstdc++*"

如果没有安装,推荐yum安装(确保gcc gcc-c++安装v4.4版本以上),参考命令:
      # yum install -y gcc gcc-c++
      # yum install -y gcc44 gcc44-c++    //注:如果gcc gcc-c++安装v4.4版本以上此步可跳过
      # yum install -y libstdc++44-devel  //注:如果libstdc++-devel安装v4.4版本以上此步可跳过

2.自redis-2.6以上版本要求编译工具tcl更高的版本,建议下载安装最新版的tcl编译工具,免得redis编译时报错
  【SQLite数据库安装时也需tcl软件支持,如果已经安装,此步骤请跳过~~~~】
  tcl是tool command language的缩写,tcl是一种很通用的脚本语言,它几乎在所有的平台上都可以解释运行,通过使用 tcl 这款含有数百预编译模块的程序,缩短编译您自己的 Tcl/Tk 模块的所需时间。
  下载地址:http://www.linuxfromscratch.org/blfs/view/cvs/general/tcl.html
  按官方指导的方法安装:
  # tar -zxvf tcl8.6.0-src.tar.gz
  # cd tcl8.6.0/unix/
  # ./configure --prefix=/usr --without-tzdata --mandir=/usr/share/man $([ $(uname -m) = x86_64 ] && echo --enable-64bit)
  # make
  # sed -e "s@^\(TCL_SRC_DIR='\).*@\1/usr/include'@" -e "/TCL_B/s@='\(-L\)\?.*unix@='\1/usr/lib@" -i tclConfig.sh
  # make install
  # make install-private-headers && ln -v -sf tclsh8.6 /usr/bin/tclsh && chmod -v 755 /usr/lib/libtcl8.6.so

可以查看一下它指向的软链接文件情况,如果tclsh -> tclsh8.6应该就没问题了,如下:
  # ll /usr/bin/ | grep tcl
  lrwxrwxrwx 1 root root    8 11-17 22:51 tclsh -> tclsh8.6

三、安装Redis

1.执行安装

在 CentOS 6.x 以下版本,由于gcc/g++版本过低,需要设置一下环境变量使之在当前会话立即生效(如果下面编译时有报错的话),参考命令:
     # export CC=/usr/bin/gcc44
     # export CXX=/usr/bin/g++44

编译安装Redis(Redis省略了configure这步,默认安装到 /usr/local/bin/ 目录中)
  # tar -zxvf redis-2.8.3.tar.gz && cd redis-2.8.3
  # make
  # make install
 
  至此,Redis安装完成,共生成5个可执行文件,默认安装到 /usr/local/bin/ 目录中,分别是:
    redis-benchmark   # 性能测试程序,用以模拟同时由N个客户端发送M个 SETs/GETs 查询 (类似于 apache 的 ab 工具)
    redis-check-aof   # 更新快照程序
    redis-check-dump  # 本地数据库持久化程序
    redis-cli         # 客户端连接程序
    redis-server      # 服务器启动程序

2.规划我的redis放置目录(/usr/local/redis):
  2.1 创建一个配置文件存放目录:
      # mkdir -p /usr/local/redis/etc

2.2 创建一个可执行程序存放目录:
      # mkdir -p /usr/local/redis/bin

2.3 创建一个数据库快照、aof存放目录:
      # mkdir -p /usr/local/redis/dbbak

2.4 创建一个日志存放目录:
      # mkdir -p /usr/local/redis/logs

3.将配置文件、可执行文件拷贝到我的redis规划目录
  3.1 拷贝配置文件:将redis源码包中的 redis.conf 文件拷贝到 /usr/local/redis/etc/
      # cp redis.conf /usr/local/redis/etc/BAK.redis.conf
      # cp redis.conf /usr/local/redis/etc/redis.conf

3.2 剪切程序文件:将 /usr/local/bin/ 目录下的几个程序文件移动到规划好的 /usr/local/redis/bin/ 目录中
      # mv -v /usr/local/bin/redis-* /usr/local/redis/bin/

3.3 修改配置文件:使之以守护进程的方式启动
      # vi /usr/local/redis/etc/redis.conf
      在约17行将 daemonize no 改为 daemonize yes

4.启动redis服务,同时加载指定配置文件redis.conf
  # /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf

查看端口侦听情况(默认侦听6379端口):
  # netstat -tunpl | grep 6379
 
  查看进程启动情况
  # ps -ef | grep redis

5.redis客户端登录
  # /usr/local/redis/bin/redis-cli
  redis 127.0.0.1:6379> info
  redis 127.0.0.1:6379> exit 或 quit 或 ctrl+c

6.停止redis服务 
  # /usr/local/redis/bin/redis-cli shutdown
  # pkill redis-server

7.设置redis随系统自启动(用vi编辑 /etc/rc.d/rc.local 添加也可):
  # echo "# Redis随系统自启动:" >> /etc/rc.d/rc.local
  # echo "/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf" >> /etc/rc.d/rc.local

redis2.8.xx安装配置的更多相关文章

  1. Hive on Spark安装配置详解(都是坑啊)

    个人主页:http://www.linbingdong.com 简书地址:http://www.jianshu.com/p/a7f75b868568 简介 本文主要记录如何安装配置Hive on Sp ...

  2. Redhat Server 5.7 安装配置PHP

    PHP的简介 PHP于1994年由Rasmus Lerdorf创建,刚刚开始是Rasmus Lerdorf 为了要维护个人网页而制作的一个简单的用Perl语言编写的程序.这些工具程序用来显示 Rasm ...

  3. subversion(SVN)安装配置

    简介subversion(简称svn)是近年来崛起的版本管理软件系统,是cvs的接班人.目前,绝大多数开源软件都使用svn作为代码版本管理软件.Subversion是一个版本控制系统,相对于的RCS. ...

  4. GitHub安装配置

    GitHub安装配置1.安装Git-1.9.5-preview20141217 2.配置config文件Windows(在命令行下)cd /d %userprofile%if not exist &q ...

  5. 安卓开发第一步:Android Studio安装配置

    虽然本人是JAVA开发工程师平时主要开发Web App,但因为项目需求需要开发对应的移动端.一时又找不到合适的安卓开发人员,兄弟我只好被项目经理"抓来当壮丁了".俗话说好" ...

  6. centos6.6安装配置jboss7.1.1

    Centos6.6下安装配置Jboss7.1.1 在了解jboss牛逼特性之后,我决定安装下jboss7.1.1试试 下面是安装包百度云盘链接: http://pan.baidu.com/s/1o6O ...

  7. Centos7安装配置gitlab

    Centos7安装配置gitlab 这篇文字我会介绍在Centos7上安装gitlab,配置gitlab的smtp,并且创建项目demo. sudo yum install openssh-serve ...

  8. nagios安装配置

     http://www.codeweblog.com/nagios%E5%AE%89%E8%A3%85%E9%85%8D%E7%BD%AE/ 上线的服务器有时会被人攻击,导致服务不可用,今天安装配置了 ...

  9. 浅谈Redis及其安装配置

    一.Redis的介绍 二.Redis的安装配置 三.Redis的配置文件说明 四.Redis的简单操作 简介: Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型. ...

随机推荐

  1. Vue 数组封装和组件data定义为函数一些猜测

     数组封装 var vm={ list:[0,1] } var push=vm.list.push;//把数组原来的方法存起来 vm.list.push=function(arg){//重新定义数组的 ...

  2. meta标签的常见用法

    一.定义和用法 <meta> 标签始终位于 head 元素中.<meta> 元素可提供有关页面的元信息(meta-information),元数据不会显示在页面上,但是对于机器 ...

  3. linux中生成考核用的NTFS文件系统结构样例

    实验NTFS-1说明:NTFS-1.img是一个包含NTFS文件系统的磁盘镜像,请使用winhex手工方式读出这个文件系统内的指定文件,并回答其md5 HASH值.要求: 1.利用WINHEX手工方式 ...

  4. php实现快速排序和冒泡排序

    快速排序 实现思路:把第一个元素作为标记,依次判断后续的值,如果小于它则放在左边,如果大于它则放右边,同理把左右两部分看成一个整体一直递归,最后再数组拼接起来 它的最优时间复杂度为O(nlogn)[以 ...

  5. 【第七章】MySQL数据库备份-物理备份

    一.数据库备份 备份的目的: 备份: 能够防止由于机械故障以及人为误操作带来的数据丢失,例如将数据库文件保存在了其它地方. 冗余: 数据有多份冗余,但不等备份,只能防止机械故障还来的数据丢失,例如主备 ...

  6. 论文笔记:DeepFace: Closing the Gap to Human-Level Performance in Face Verification

    2014 CVPR Facebook AI研究院 简单介绍 人脸识别中,通常经过四个步骤,检测,对齐(校正),表示,分类 论文主要阐述了在对齐和表示这两个步骤上提出了新的方法,模型的表现超越了前人的工 ...

  7. testng系列-ReportNG

    生成reportng报告操作步骤: 一.maven的pom.xml文件需要添加内容: <properties> <!-- maven 参数配置,这里引用不同的testng.xml - ...

  8. Python如何对折线进行平滑曲线处理?

    在用python绘图的时候,经常由于数据的原因导致画出来的图折线分界过于明显,因此需要对原数据绘制的折线进行平滑处理,本文介绍利用插值法进行平滑曲线处理: 实现所需的库 numpy.scipy.mat ...

  9. 常用的os操作方法

    os.sep可以取代操作系统特定的路径分隔符.windows下为 “”os.name字符串指示你正在使用的平台.比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix' ...

  10. 关于算法的时间复杂度O(f(n))

    (一)算法时间复杂度定义: 在进行算法分析时,语句总的执行次数T(n)是关于问题规模n的函数,进而分析T(n)随n的变化情况并确定T(n)的数量级.算法的时间复杂度,也就是算法的时间量度,记作:T(n ...