Redis教程(1)编译安装 Redis5.X

Redis教程(1)编译安装 Redis5.X

一、Redis介绍

Redis是一种高性能、高可用、高可扩展,并且支持丰富的数据类型的缓存服务。从数据类型来说比仅支持字符串类型数据的Memcached支持更为丰富的数据类型,比如string、list、hash、set;从高可用来说Redis支持主从架构,在主从架构上还有sentinel哨兵模式和集群模式,可以实现主从故障自动转移,而且Redis支持数据持久化,可以把内存中的数据保存在磁盘中,真正的做到了高可用。从高性能来说,虽然Redis是基于单线程工作(单线程意味着Redis一次只能一条命令,所以需要避免在线上主库操作一些长命令,如keys、flushall\flushdb等),但是不代表它性能就很差,单线程并不是Redis的瓶颈所在,经过测试发现Redis平均每秒大概可以处理50W次并发请求,存储100万个small key其内存消耗也仅仅100M左右。Redis的应用场景主要包含了一些缓存系统、计数器、排行榜、消息队列、实时系统等,基本上社交媒体的功能都可以通过Redis实现,但是一些大容量的缓存服务使用Redis就会比较不合适,建议使用基于磁盘的MongoDB。

二、编译安装Redis

· Redis官网下载地址:http://redis.io/download/

· Redis历史版本下载地址:http://download.redis.io/releases/

下载好需要的安装包后解压并安装,该方法适用3.x至6.x

cd /usr/local/src/
wget https://download.redis.io/releases/redis-5.0.10.tar.gz 
tar zxf redis-5.0.10.tar.gz
cd redis-5.0.10

#Redis依赖C语言的环境,所以先安装gcc编译环境和jemalloc内存分配器,在处理内存碎片化上优于默认的内存分配器libc
yum install gcc jemalloc -y  

#编译安装
make 
make install

#如果make步骤报错没找到jemalloc文件可以手动指定文件路径,通过rpm -ql jemalloc可以查看so文件路径
#make MALLOC=/usr/lib64/libjemalloc.so.1

三、服务器内核参数调整

1、调整内存分配策略,减少OOM

echo "vm.overcommit_memory=1" >> /etc/sysctl.conf
sysctl vm.overcommit_memory=1


2、关闭THP透明大页,减少延迟

echo never > /sys/kernel/mm/transparent_hugepage/enabled   #该命令执行后还需写入到/etc/rc.local

四、Redis配置与启动

1、redis脚本介绍

· redis-server:Redis服务启动脚本
· redis-cli:Redis客户端命令行操作工具

· redis-check-aof:对aof数据文件检查修复工具
· redis-check-dump:检查导出工具

· redis-benchmark:Redis压力测试工具,测试Redis在当前系统下的读写性能

redis-benchmark -c 100 -n 10000 -r 10000  #100个客户端总共发起10000个请求,并且随机生成大量key,否则只有几个key


2、如何启动Redis

直接运行redis-server脚本可以使用默认参数来启动服务,但是启动服务后会有警告信息“Warning: no config file specified, using the default config. In order to specify a config file use ./redis-server /path/to/redis.conf”,这个是说明没有指定配置文件

 redis-server

指定配置文件启动redis,关于配置文件的参数设置可参考本站另一篇文章

 redis-server  /usr/local/redis/etc/redis.conf


3、连接Redis

使用客户端连接Redis,默认端口为6379,如果能正常连接上就代表成功。登录Redis后输入help命令可以查看帮助,要详细查看指定类型数据的子命令有哪些,可以用@符号来指定组名,如“help @string”“help @list”。也可以用tab来自动补全

./redis-cli 
127.0.0.1:6379>


4、关闭redis

连接上客户端后运行shutdown,不建议直接kill

./redis-cli
127.0.0.1:6379> shutdown


5、redis日志

在redis日志中会有一些优化建议,可以在运行后根据日志提示进行系统配置的修改redis1.png


文章评论