Redis(二):Redis的安装及配置(1)---安装

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介:

网上有很多安装文档,但是写的比较粗略,有些问题也没有说明,比如内存分配器安装遇到错误,解决办法级别都是使用linux系统自带的libc来解决,并没有给出如何使用性能更好的jemalloc分配器,所以决定把一些我能想到的东西整理一下,同时也是为了初学者少走弯路。

安装


Redis安装非常方便,首先通过官网去下载最新版本,官网地址:http://redis.io/download

Redis除了可以安装在Linux上还可以安装在Windows上,不过在Windows平台上的Redis并不是Redis官方支持的,它是由MicrosoftOpen Tech 小组开发并维护的。Redis并不依赖任何非标准函数库,也没有编译必须要添加的参数,安装非常简单。我们这里使用3.0版本。

先安装一下基础环境:

wKioL1dmlMOQZCgxAAA12Ye7ejk770.jpg-wh_50

从这里下载:http://download.redis.io/releases/redis-3.0.7.tar.gz

wKiom1dmlNPDaHc1AADWVergcW4285.jpg-wh_50

解压并测试所需条件,该命令是压缩包里自带的命令,提示需要安装tcl8.5以上版本

wKioL1dmlNzx-mx9AAAzWUF1exs829.jpg-wh_50

安装tcl

wKiom1dmlPKAJUQQAABQvoUe-7w835.jpg-wh_50

安装jemalloc分配器,这个分配器源码已经包含在Redis源码包里了,在dev目录里面,如下图:关于分配器我后面再做说明。

wKioL1dmlQDTQbBFAAA5OTtC3sE043.jpg-wh_50

安装方式如下:它会把下面这4项进行编译安装,这都是Redis所依赖的

wKioL1dmlQqSuOTCAABCJZ9Qerw170.jpg-wh_50

编译安装Redis

这时候再去运行make就不会报错了。可以通过下面的命令来设置安装目录:

1
make  PREFIX= /DIRECTORY  install  (如果你用了这个命令,那么后面就不需要执行 make  install 了)

我这里使用默认的。

wKiom1dmlRKz0l1aAAB-6xBeVPk153.jpg-wh_50

wKiom1dmlRrTlLAHAADFTtqDqCs973.jpg-wh_50

运行makeinstall

wKioL1dmlSThRUEdAACARQimfQg591.jpg-wh_50

注意:如果你想安装在不同目录里,必须使用make PERFIX=/DIRECTORY install方式,如果这条命令后面没有跟install,而你想之后运行make install,那么单纯运行make不会出错,但是最后安装完成后你会发现依然是默认的目录(/usr/local/bin)而不是你自己指定的目录。


安装后的程序及配置文件位置:


安装后默认的Redis程序放在了/usr/local/bin下面,如下图:

wKioL1dmlm2RBqjuAAA9eVr6Xsc876.jpg-wh_50

程序名称用途redis-serverRedis服务器的daemon启动程序redis-cli命令行工具,当然也可以使用telnet来操作数据库redis-benchmark性能测试工具,测试redis在当前系统以及硬件配置下的读写性能redis-check-aof用于修复出问题的AOF文件redis-check-dump用于修复出问题的dump.rdb文件redis-sentinel用户集群管理

配置文件位置在源码包中,安装并不会复制配置文件,需要手动拷贝配置文件。操作如下:

先在/etc/下面建立一个文件夹名称为redis,这也是为了便于管理

wKiom1dml6bxWgqyAAFUbludRaE870.jpg-wh_50

这里要把配置文件改个名词,改成6379.conf,为什么呢?因为跟启动脚本里面的CONF这个变量的设置有关,它默认使用的是REDISPORT这个变量为配置文件名称,下一节就会看到。

wKioL1dml7CANWTmAAAmg-IYlJA080.jpg-wh_50


关于分配器


本来想把分配器单独写一篇,后来觉得还是应该放在这里比较合适,这样可以保持一个连贯性。安装Redis经常会出现在分配器报错问题,网上的一般建议都直接使用Linux系统的libc分配器来解决,但是没有告诉如何使用性能更好的jemalloc分配器来安装,因为Redis程序本身不带内存管理机制,它是使用其他的内存分配器。

查看压缩包目录下的README文档,如下图:

wKiom1dpNC3Tmd_XAAC_UymugEg109.jpg-wh_50

Redis安装时使用的默认分配器为jemalloc,如果你的系统没有,那么安装Redis就会报错,如下图:

提示说没有这个文件或者目

wKiom1dpNDXRdTE3AACghiF21to843.jpg-wh_50

MALLOC是一个环境变量,如果有这个环境变量就会用这个变量去建立Redis,如果没有就需要在安装的时候指定这个参数。一般情况下系统是没有这个环境变量的。

libc并不是Redis默认的分配器,默认的是jemalloc,因为这个分配器的性能比libc要好,主要反映在内存碎片率上(内存碎片太多,对纯内存数据的性能是有很大影响的)。Redis在编译的时候,先判断是否是否使用jemallocBSD提供的内存分配管理模块),如果都没有就会使用标准的libc中的内存管理函数,但使用标准的libc需要手动指定参数。

如果不想使用jemalloc分配器,那么在安装时使用make MALLOC=libc 就可以解决上面那个报错。这也是网上常规的解决办法。如果想使用jemalloc那么就按照上面的操作步骤来安装。


常用分配器:

  • tcmalloc 谷歌的内存分配管理模块

  • jemalloc BSD提供的管理模块

  • libc Linux系统自带的


未完待续。。。。



      本文转自linuxjavachen  51CTO博客,原文链接:http://blog.51cto.com/littledevil/1790865,如需转载请自行联系原作者








相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
5天前
|
NoSQL Linux 测试技术
Redis的安装(Linux版)
Redis的安装(Linux版)
47 1
|
15天前
|
NoSQL Linux Redis
linux 下和win下安装redis 并添加开机自启 图文详解
linux 下和win下安装redis 并添加开机自启 图文详解
17 0
|
1月前
|
NoSQL Java Redis
Springboot从2.x升级到3.x以后redis默认配置调整
Springboot从2.x升级到3.x以后redis默认配置调整
46 0
|
2月前
|
NoSQL Redis
若依管理系统去掉Redis相关配置
若依管理系统去掉Redis相关配置
|
2月前
|
NoSQL Redis 数据安全/隐私保护
Docker中Redis的安装与配置
本文主要讲解如何在Docker环境中搭建Redis环境,并进行相关配置
247 5
Docker中Redis的安装与配置
|
1月前
|
NoSQL Linux Redis
Linux系统中安装redis+redis后台启动+常见相关配置
Linux系统中安装redis+redis后台启动+常见相关配置
|
23天前
|
NoSQL Linux Redis
Linux安装Redis
Linux安装Redis
29 0
|
27天前
|
NoSQL 关系型数据库 MySQL
安装Docker&镜像容器操作&使用Docker安装部署MySQL,Redis,RabbitMQ,Nacos,Seata,Minio
安装Docker&镜像容器操作&使用Docker安装部署MySQL,Redis,RabbitMQ,Nacos,Seata,Minio
159 1
|
1月前
|
NoSQL 关系型数据库 MySQL
Docker安装详细步骤及相关环境安装配置(mysql、jdk、redis、自己的私有仓库Gitlab 、C和C++环境以及Nginx服务代理)
Docker安装详细步骤及相关环境安装配置(mysql、jdk、redis、自己的私有仓库Gitlab 、C和C++环境以及Nginx服务代理)
209 0
|
1月前
|
NoSQL 算法 数据管理
【Redis】Redis配置参数详解:优化过期删除机制
【Redis】Redis配置参数详解:优化过期删除机制
74 0