Linux下redis安装和部署
最近由于工作需要自己部署了redis,参考了这个教程:https://www.jianshu.com/p/bc84b2b71c1c
但还是遇到不少问题,记录一下过程以及收获。
基础知识
REmote DIctionary Server(Redis) 是一个由 Salvatore Sanfilippo 写的 key-value 存储系统,是跨平台的非关系型数据库。
Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API。
Redis 通常被称为数据结构服务器,因为值(value)可以是字符串(String)、哈希(Hash)、列表(list)、集合(sets)和有序集合(sorted sets)等类型。
redis的应用场景
缓存(数据查询、短连接、新闻内容、商品内容等等)。(最多使用)
分布式集群架构中的session分离。
聊天室的在线好友列表。
任务队列。(秒杀、抢购、12306等等)
应用排行榜。
网站访问统计。
数据过期处理(可以精确到毫秒)
安装redis
下面介绍在Linux环境下,Redis的安装与部署,使用redis-3.0稳定版,因为redis从3.0开始增加了集群功能。
1.使用wget命令下载
wget http://download.redis.io/releases/redis-3.0.0.tar.gz
2.将redis-3.0.0.tar.gz拷贝到/usr/local下
cp redis-3.0.0.rar.gz /usr/local
3.解压
tar -zxvf redis-3.0.0.tar.gz
这一步解压之后莫名奇妙找不到解压后的目录,用ftp手动传的
4.进入解压后的目录进行编译
cd /usr/local/redis-3.0.0
5.安装到指定目录 如 /usr/local/redis
make PREFIX=/usr/local/redis instal
这一步遇到问题
根据提示/bin/sh: ./configure: 权限不够,找到其所在路径,赋权限
[root@localhost redis-3.0.0]# cd /usr/local/redis-3.0.0/deps/jemalloc
[root@localhost jemalloc]# chmod 777 configure
问题解决,再编译又遇到问题
提示sh: ./mkreleasehdr.sh: 权限不够,找到其所在路径,赋权限
[root@localhost redis-3.0.0]# cd /usr/local/redis-3.0.0/src
[root@localhost src]# chmod 777 mkreleasehdr.sh
问题解决,再编译又遇到问题
使用命令
[root@localhost redis-3.0.0]# make MALLOC=libc
问题解决,但安装目录变成了/usr/local/redis-3.0.0/src
6.拷贝配置文件到安装目录下
redis.conf是redis的配置文件,在redis源码目录,将其拷贝到安装路径下
cp /usr/local/redis-3.0.0/redis.conf /usr/local/redis-3.0.0/src
7.启动redis
- 前端模式启动
直接运行redis-server将以前端模式启动,前端模式启动的缺点是ssh命令窗口关闭则redis-server程序结束,不推荐使用此方法
./redis-server
如图
- 后端模式启动
修改redis.conf配置文件, daemonize yes 以后端模式启动
执行如下命令启动redis:
cd /usr/local/redis-3.0.0/src
./bin/redis-server ./redis.conf
8.让redis开机自启
vim /etc/rc.local
//添加
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis-conf