Redis学习(一):CentOS下redis安装和部署
1.基础知识
redis是用C语言开发的一个开源的高性能键值对(key-value)数据库。它通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止redis支持的键值数据类型如下字符串、列表(lists)、集合(sets)、有序集合(sorts sets)、哈希表(hashs)
2.redis的应用场景
缓存(数据查询、短连接、新闻内容、商品内容等等)。(最多使用)
分布式集群架构中的session分离。
聊天室的在线好友列表。
任务队列。(秒杀、抢购、12306等等)
应用排行榜。
网站访问统计。
数据过期处理(可以精确到毫秒)
3.安装redis
下面介绍在CentOS环境下,Redis的安装与部署,使用redis-3.0稳定版,因为redis从3.0开始增加了集群功能。
- 可以通过官网下载 地址:http://download.redis.io/releases/redis-3.0.0.tar.gz
- 使用linux wget命令
wget http://download.redis.io/releases/redis-3.0.0.tar.gz
步骤如下:
将redis-3.0.0.tar.gz拷贝到/usr/local下,然后解压
cp redis-3.0.0.rar.gz /user/local
tar -zxvf redis-3.0.0.tar.gz
由于Redis是用C语言编写,所以编译时需要gcc,
yum install gcc -y
进入解压后的目录进行编译,指定目录安装 如 /usr/local/redis
cd /usr/local/redis-3.0.0
make PREFIX=/usr/local/redis install
可能报如下错误:
zmalloc.h:50:31: error: jemalloc/jemalloc.h: No such file or directory
zmalloc.h:55:2: error: #error “Newer version of jemalloc required”
make[1]: * [adlist.o] Error 1
make[1]: Leaving directory `/data0/src/redis-2.6.2/src’
make: * [all] Error 2
原因分析
在README中有这么一段话:
Allocator
————Selecting a non-default memory allocator when building Redis is done by setting the
MALLOCenvironment variable. Redis is compiled and linked against libc malloc by default, with the exception of jemalloc being the default on Linux systems. This default was picked because jemalloc has proven to have fewer fragmentation problems than libc malloc.To force compiling against libc malloc, use:
% make MALLOC=libcTo compile against jemalloc on Mac OS X systems, use:
% make MALLOC=jemalloc
意思是说关于分配器allocator, 若有MALLOC 这个 环境变量, 会有用这个环境变量的 去建立Redis。
而且libc 并不是默认的分配器, 默认是 jemalloc, 因为 jemalloc 被证明有比libc更少的 fragmentation problems 。
但是如果你又没有jemalloc 而只有 libc 当然 make 出错。
所以在编译的时候需要加一个参数,即:MALLOC=libc
解决办法
make MALLOC=libc
综上,执行如下命令完成安装:
make PREFIX=/usr/local/redis MALLOC=libc install
4.配置Redis
redis.conf是redis的配置文件,redis.conf在redis源码目录。
拷贝配置文件到安装目录下
进入源码目录,里面有一份配置文件 redis.conf,然后将其拷贝到安装路径下
cd /usr/local/redis
cp /usr/local/redis-3.0.0/redis.conf /usr/local/redis/bin
cd /usr/local/redis/bin
进入安装目录bin下,此时的目录结构是这样的

- redis-check-aof AOF文件修复工具
- redis-check-rdb RDB文件修复工具
- redis-cli redis命令行客户端
- redis.conf redis配置文件
- redis-sentinal redis集群管理工具
- redis-server redis服务进程
5.启动Redis
1.前端模式启动
直接运行 ./redis-server将以前端模式启动,前端模式启动的缺点是ssh命令窗口关闭则redis-server程序结束,故不推荐使用此方法。
2.后端模式启动
修改redis.conf配置文件, daemonize yes 以后端模式启动vim /usr/local/redis/bin/redis.conf
执行如下命令启动redis:
cd /usr/local/redis/bin
./redis-server ./redis.conf
连接redis:
**5.关闭redis**
强行终止redis进程可能会导致redis持久化数据丢失。
正确停止Redis的方式应该是向Redis发送SHUTDOWN命令,
命令为:
cd /usr/local/redis
./bin/redis-cli shutdown
强行终止redis
pkill redis-server
让redis开机自启
vim /etc/rc.local
//添加
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis-conf
至此redis完成安装。
Redis学习(一):CentOS下redis安装和部署的更多相关文章
- redis学习之——CentOS 6 下载安装redis
一.检查当前环境: 安装过程中没有这些,命令,在CentOS 6,最小安装导致..如果执行完命令,Noting to do...字样说明环境正常. yum -y install rpm gcc w ...
- Redis学习——Windows环境下Redis的安装(二)
一.说明 之前介绍了Linux环境下Redis的安装,这次介绍一下Windows环境下Redis的安装,首先要讲的是,Redis官方只支持Linux,还好 Microsoft Open Tech gr ...
- Redis学习——Linux环境下Redis的安装(一)
一.关于Redis Redis最为一款开源的key-value存储系统,自推出到现在一直受到编程人员的喜爱.它支持存储多种value类型,String .List .Set .Zset .Hash.这 ...
- Redis 系列之CentOS下Redis的安装
前言 安装Redis需要知道自己需要哪个版本,有针对性的安装,比如如果需要redis GEO这个地理集合的特性,那么redis版本就不能低于3.2版本,由于这个特性是3.2版本才有的.另外需要注意的是 ...
- Redis在linux环境下的安装和部署
官网:http://redis.io windows版本下载地址https://github.com/MicrosoftArchive/redis/releases 1Redis建议 ...
- CentOS下redis集群安装
环境: 一台CentOS虚拟机上部署六个节点,创建3个master,3个slave节点 1.下载并解压 cd /root wget http://download.redis.io/releases/ ...
- mac与centos下redis的安装与配置
前言 最近在用redis,下面简单写一下mac和centos下redis的安装与配置方法. 安装 mac下面 安装命令:brew intall redis 运行命令:brew services sta ...
- CentOS下Redis的安装(转)
目录 CentOS下Redis的安装 前言 下载安装包 解压安装包并安装 启动和停止Redis 启动Redis 停止Redis 参考资料 CentOS下Redis的安装 前言 安装Redis需要知道自 ...
- redis学习之一 - linux下安装配置
Content 0.序 1.如何安装? 2.配置参数及其意义 3.设为linux服务 0.序 本文主要是记录Redis在 Centos下的安装配置 .文中如无特别说明.表示redis-3.2.10代码 ...
- CentOS 下 redis 安装与配置
CentOS 下 redis 安装与配置 1.到官网上找到合适版本下载解压安装 [root@java src]# wget -c http://redis.googlecode.com/files ...
随机推荐
- c++——默认参数、函数占位参数
2 默认参数 /*1 C++中可以在函数声明时为参数提供一个默认值, 当函数调用时没有指定这个参数的值,编译器会自动用默认值代替 */ void myPrint(int x = 3) { printf ...
- 自动搭建ssm项目
手把手教你搭建ssm项目 注意,必须修改:包名.数据库名称.账号.密码 注意:必须配置好第一次,“引入后”才能配置第二次 第一步:打开idea选择创建maven项目 import java.io.*; ...
- CPP/类/成员函数访问权限
- Linux的常用基础命令
初入运维界,从Linux开始学起.首先掌握的是Linux的部分常用命令,总结如下: 1. ls ls = list 查看当前目录下所有文件信息,常用参数组合:ls -al (l 指详细信息 a指所有文 ...
- 用C挑战无准备写2048
下午在刷题过程中,忽然想写2048了,以弥补以前写的那个千多行的,所以简单思考了一下准备采取的数据结构就开始了,本以为一个小时能搞定,结果后面改bug还是多花了些时间.因为在医院,所以声音不敢太大,如 ...
- Telnet模拟系统(Linux c)
第3章详细设计和实现 3.1相关技术 1)TCP编程,主要包括socket()函数.bind()函数.listen()函数.recv()函数.send()函数以及客户端的connect()函数. 2) ...
- 高德地图API(流程法)整理分析
[高德地图API(流程法)分析]: 前言:公司现在的网约车项目,使用的是高德地图,因为地图导航这一块的功能占比量比较大,为了方便大家对高德地图API的了解和学习使用,使用流程图把高德API分析整理了下 ...
- Go语言学习 总结一
1,定义main, package main 一个可独立执行的程序,(类似main方法) 2,import “fmt” fmt 实现格式化IO(输入/输出) (类似system.out.print() ...
- RMAN 与control文件和spfile文件的备份
以10.2为例,官方文档如此说: http://docs.oracle.com/cd/B19306_01/backup.102/b14191/rcmconc1.htm The RMAN behavio ...
- PostgreSQL的xlog实验一
磨砺技术珠矶,践行数据之道,追求卓越价值 回到上一级页面: PostgreSQL基础知识与基本操作索引页 回到顶级页面:PostgreSQL索引页 一,从initdb开始,initdb执行结束 ...