Linux下redis安装和部署
1.基础知识
redis是用C语言开发的一个开源的高性能键值对(key-value)数据库。它通过提供多种键值数据类型来适应不同场景下的存储需求
目前为止redis支持的键值数据类型如下
- 字符串(String)
- 列表(lists)
- 集合(sets)
- 有序集合(sorts sets)
- 哈希表(hashs)
2.redis的应用场景
缓存(数据查询、短连接、新闻内容、商品内容等
- 分布式集群架构中的session分离。
- 聊天室的在线好友列表。
- 任务队列。(秒杀、抢购、12306等等)
- 应用排行榜。
- 网站访问统计。
- 数据过期处理(可以精确到毫秒)
3.安装redis
下面介绍在Linux环境下,Redis的安装与部署 使用redis-3.0稳定版,因为redis从3.0开始增加了集群功能。
可以通过官网下载 http://download.redis.io/releases/redis-4.0.11.tar.gz
或者使用linux wget命令
[root@ceilan-linux ~]# wget http://download.redis.io/releases/redis-4.0.10.tar.gz
将redis-4.0.11.tar.gz移动到/usr/local下
[root@ceilan-linux ~]# mv redis-4.0.10.tar.gz /usr/local
解压二进制包
[root@ceilan-linux local]# tar -zxvf redis-4.0.10.tar.gz
进入解压后的目录进行编译
[root@ceilan-linux local]# cd redis-4.0.10
[root@ceilan-linux local]# make PREFIX=/usr/local/redis install
注意:需要指定的文件夹应该是空的
如果此时出现gcc …Not found
需要安装gcc
Ubuntu
sudo apt-get install gcc
Centos
yum install update
yum install gcc
redis.conf是redis的配置文件,redis.conf在redis源码目录。
拷贝配置文件到安装目录下
进入源码目录,里面有一份配置文件 redis.conf,然后将其拷贝到安装路径下
cd usr/local/redis
mkdir conf
cp /usr/local/redis-4.0.10/redis.conf /usr/local/redis/conf
进入安装目录bin下
cd /usr/local/redis/bin
目录结构是这样的
redis-benchmark | redis性能测试工具 |
---|---|
redis-check-aof | AOF文件修复工具 |
redis-check-rdb | RDB文件修复工具 |
redis.conf | redis配置文件 |
redis-sentinal | redis集群管理工具 |
redis-server | redis服务进程 |
4.启动redis
4.1 前端模式启动
直接运行bin/redis-server将以前端模式启动,前端模式启动的缺点是ssh命令窗口关闭则redis-server程序结束,不推荐使用此方法
4.2 后端模式启动
修改redis.conf配置文件, daemonize yes 以后端模式启动
vim /usr/local/redis/bin/redis.conf
执行如下命令启动redis:
cd /usr/local/redis
./bin/redis-server ./conf/redis.conf
4.3 连接redis
[root@ceilan-linux bin]# ./redis-cli
4.4 Mac启动redis
redis-server /etc/redis.conf
4.5 redis设置密码
编辑redis.conf文件
# requirepass foobared
requirepass yourpassword //此处注意,行前不能有空格
5.关闭redis
5.1 正确停止Redis
cd /usr/local/redis
./bin/redis-cli shutdown
5.2 强行终止redis
强行终止redis进程可能会导致redis持久化数据丢失
pkill redis-server
5.3 让redis开机自启
vim /etc/rc.local
#redis
/usr/local/redis/bin/redis-server /usr/local/redis
6.出现的异常
6.1 redis-cli shutdown 出现 (error) NOAUTH Authentication required
redis 设置密码登录后,想关闭redis服务器,需要
redis-cli -a 密码 shutdown
6.2 redis编译报致命错误:jemalloc/jemalloc.h:没有那个文件或目录
分配器allocator, 如果有MALLOC 这个 环境变量, 会有用这个环境变量的 去建立Redis。
而且libc 并不是默认的 分配器, 默认的是 jemalloc, 因为 jemalloc 被证明 有更少的 fragmentation problems 比libc。
但是如果你又没有jemalloc 而只有 libc 当然 make 出错。 所以加这么一个参数,运行如下命令:
make MALLOC=libc
7.Mac上的Redis的开启关闭命令
7.1 启动redis
后台启动
redis-server /etc/redis.conf &
7.2 关闭redis
redis-cli -a 密码 shutdown