Redis是一个高性能的,开源key-value型数据库。是构建高性能,可扩展的Web应用的完美解决方案,可以内存存储亦可持久化存储。因为要使用跨进程,跨服务级别的数据缓存,在对比多个方案后,决定使用Redis。顺便整理下Redis的安装过程,以便查阅。

  1. 下载Redis
  2. 解压Redis
  3. 编译安装Redis
  4. 配置Redis
  5. 启动Redis
  6. 添加开机启动项
  7. Redis配置参数

1. 下载Redis

目前,最新的Redist版本为3.0,使用wget下载,命令如下:

# wget http://download.redis.io/releases/redis-3.0.4.tar.gz

2. 解压Redis

下载完成后,使用tar命令解压下载文件:

# tar -xzvf redis-3.0.4.tar.gz

3. 编译安装Redis

切换至程序目录,并执行make命令编译:

# cd redis-3.0.4
# make

执行安装命令

# make install

make install安装完成后,会在/usr/local/bin目录下生成下面几个可执行文件,它们的作用分别是:

  • redis-server:Redis服务器端启动程序
  • redis-cli:Redis客户端操作工具。也可以用telnet根据其纯文本协议来操作
  • redis-benchmark:Redis性能测试工具
  • redis-check-aof:数据修复工具
  • redis-check-dump:检查导出工具

  注意

  有的机器会出现类似以下错误:

  make[1]: Entering directory `/root/redis/src'
  You need tcl 8.5 or newer in order to run the Redis test
  ……

  这是因为没有安装tcl导致,yum安装即可:

  yum install tcl

4. 配置Redis

  复制安装文件中的配置文件redis.conf到/etc/目录:

  # cp redis.conf /etc/

  a)Redis默认只能本机访问,所以需要开启远程连接访问,请参考:Redis开启远程登录连接。

   b)Redis默认是不需要密码就可以访问,所以要设置登录密码,请参考:Redis使用认证密码登录
 
c)为了让Redis后台运行,一般还需要修改redis.conf文件:
    vi /etc/redis.conf 

    修改daemonize配置项为yes,使Redis进程在后台运行:

   daemonize yes
  
  说明:这一项配置建议确定Redis安装成功了之后再设置,因为如果提前设置了此项,在启动Redis的时候Terminal没有信息提示,如果没有启动成功,不知道错误的原因。

5. 启动Redis

配置完成后,启动Redis:

# cd /usr/local/bin
# ./redis-server /etc/redis.conf 如果在配置Redis一节中,没有设置Redis后台运行的情况下,启动成功如下所示:
:M  Oct ::00.697 * Increased maximum number of open files to  (it was originally set to ).
_._
_.-``__ ''-._
_.-`` `. `_. ''-._ Redis 3.2. (/) bit
.-`` .-```. ```\/ _.,_ ''-._
( ' , .-` | `, ) Running in standalone mode
|`-._`-...-` __...-.``-._|'` _.-'| Port:
| `-._ `._ / _.-' | PID: 33612
`-._ `-._ `-./ _.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' | http://redis.io
`-._ `-._`-.__.-'_.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' |
`-._ `-._`-.__.-'_.-' _.-'
`-._ `-.__.-' _.-'
`-._ _.-'
`-.__.-' :M Oct ::00.698 # WARNING: The TCP backlog setting of cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of .
:M Oct ::00.698 # Server started, Redis version 3.2.
:M Oct ::00.699 # WARNING overcommit_memory is set to ! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
:M Oct ::00.699 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
:M Oct ::00.699 * The server is now ready to accept connections on port

检查启动情况:

# ps -ef | grep redis

看到类似下面的一行,表示启动成功:

root     18443     1  0 13:05 ?        00:00:00 ./redis-server *:6379 

对应的关闭方式:

[root@mch bin]# ./redis-cli -a passwd shutdown  ,如果没开启登陆验证,则不需要-a passwd。

 测试访问:

 使用客户端访问方式:$ ./redis-cli -h 127.0.0.1 -p 6379   -h为redis服务器IP地址 ,-p为redis服务器端口号

 如果需要登录访问,$ ./redis-cli -h 127.0.0.1 -p 6379 -a myPassword

 关于更多的登陆验证访问,请参考:Redis使用认证密码登录

6. 添加开机启动项

Redis开机运行可以将其添加到rc.local文件,也可将添加为系统服务service。本文使用rc.local的方式,添加service请参考:Redis 配置为 Service 系统服务

为了能让Redis在服务器重启后自动启动,需要将启动命令写入开机启动项:

echo "/usr/local/bin/redis-server /etc/redis.conf" >>/etc/rc.local

7. Redis配置参数

在前面的操作中,我们用到了使Redis进程在后台运行的参数,下面介绍其它一些常用的Redis启动参数:

  • daemonize:是否以后台daemon方式运行
  • pidfile:pid文件位置
  • port:监听的端口号
  • timeout:请求超时时间
  • loglevel:log信息级别
  • logfile:log文件位置
  • databases:开启数据库的数量
  • save * *:保存快照的频率,第一个*表示多长时间,第三个*表示执行多少次写操作。在一定时间内执行一定数量的写操作时,自动保存快照。可设置多个条件。
  • rdbcompression:是否使用压缩
  • dbfilename:数据快照文件名(只是文件名)
  • dir:数据快照的保存目录(仅目录)
  • appendonly:是否开启appendonlylog,开启的话每次写操作会记一条log,这会提高数据抗风险能力,但影响效率。
  • appendfsync:appendonlylog如何同步到磁盘。三个选项,分别是每次写都强制调用fsync、每秒启用一次fsync、不调用fsync等待系统自己同步

文章转自:1.http://itbilu.com/linux/management/4kB2ninp.html

     2.http://itbilu.com/linux/management/NkbXG9kol.html

转:Centos6.5_x86安装Redis。的更多相关文章

  1. centos6.7安装Redis

    1.创建安装目录 mkdir /usr/local/redis cd /usr/local/src 2.获取安装包:wget http://download.redis.io/releases/red ...

  2. Redis — CentOS6.4安装Redis以及安装PHP客户端phpredis

    一.安装Redis 1.下载安装包 wget http://download.redis.io/releases/redis-2.8.6.tar.gz 2.解压包 tar xzf redis-2.8. ...

  3. 【centos6】安装redis + phpredis 以及 常用配置参数

    1.redis-server和redis-cli安装文章:http://www.cnblogs.com/skyessay/p/6429988.html 1.前置条件:查看是否安装gcc,命令:gcc ...

  4. centos6.6安装redis

    .安装仓库 yum install epel-release -y2.安装redis yum install redis -y3.程序文件说明 安装完毕后有以下几个文件位于/usr/bin目录: re ...

  5. centos6.5 安装redis自动启动

    1.安装需要的支持环境 在安装Redis之前首要先做的是安装Unix的 Tcl工具 ,如果不安装的话后期将无法对Redis进行测试.在后期执行make test的时候返回如下错误信息: You nee ...

  6. CentOS6.9安装redis

    目录 Centos6.9下的Redis安装和配置(最简易方式) redis客户端登录方式 Centos6.9下的Redis安装和配置(最简易方式) 在服务器上创建一个目录/service,然后下载re ...

  7. centos6.6安装redis服务安装redis服务,对于discuz来说可以作为缓存使用,减轻服务器压力

    获取redis源码包 #wget http://download.redis.io/releases/redis-stable.tar.gz 解压缩 #tar xf  redis-stable.tar ...

  8. 在CentOS6上安装Redis

    检查安装依赖程序 yum install -y gcc-c++ tcl wget 获取安装文件 wget http://download.redis.io/releases/redis-2.8.17. ...

  9. Centos6.8安装redis(一)

    最近有在学习会话共享的配置,其中一种呢是 nginx+redis+tomcat 的会话共享配置,在记录此会话共享配置之前呢先记录下redis等的安装.这篇先简单记录下redis的安装,是其中一种方式, ...

随机推荐

  1. flask mega-tutorial 1.0 documentation学习记录

    本文主要是记录在[用户登录]一节中出现的问题: 报错位置是在 if g.user is not None and g.user.is_authenticated(): return redirect( ...

  2. python3的urllib2报错问题解决方法

    python urlib2 兼容问题 在python3中,将urllib和urllib2合并了,所以在使用urllib2的地方改成urllib.request即可.示例如下 import urllib ...

  3. MYSQL数据库-约束

    约束是一种限制,它通过对表的行或列的数据做出限制,来确保表的数据的完整性.唯一性. MYSQL中,常用的几种约束: 约束类型: 主键 默认值 唯一 外键 非空 关键字: PRIMARY KEY DEF ...

  4. Spring的IoC容器

    Spring是一个轻量级的Java开发框架,其提供的两大基础功能为IoC和AOP,其中IoC为依赖反转(Inversion of Control).IOC容器的基本理念就是"为别人服务&qu ...

  5. 解决Highcharts 5.0.7,IE8下bar类型图表无法显示的问题

    引用如上, 当图标类型为bar时,IE8无法直接显示, 官网也一样, 但通过切换图例可以显示, 所以加入以下代码解决此问题 未经允许,严禁转载!!!

  6. PHP GD库生成图片自动换行函数,自动分页函数

    /* 文字自动换行     * @param $card 画板     * @param $pos 数组,top距离画板顶端的距离,fontsize文字的大小,width宽度,left距离左边的距离, ...

  7. POPTEST老李谈钩子

    poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:908821478,咨询电话010-845052 ...

  8. 老李推荐:第3章3节《MonkeyRunner源码剖析》脚本编写示例: MonkeyImage API使用示例 1

    老李推荐:第3章3节<MonkeyRunner源码剖析>脚本编写示例: MonkeyImage API使用示例   在上一节的第一个“增加日记”的示例中,我们并没有看到日记是否真的增加成功 ...

  9. C语言求最小公倍数和最大公约数三种算法(经典)

    把以前写的一些经验总结汇个总,方便给未来的学弟学妹们做个参考! --------------------------永远爱你们的:Sakura 最小公倍数:数论中的一种概念,两个整数公有的倍数成为他们 ...

  10. 深入tornado中的协程

    tornado使用了单进程(当然也可以多进程) + 协程 + I/O多路复用的机制,解决了C10K中因为过多的线程(进程)的上下文切换 而导致的cpu资源的浪费. tornado中的I/O多路复用前面 ...