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

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容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
相关文章
|
9天前
|
NoSQL 算法 Redis
docker高级篇(大厂进阶):安装redis集群
docker高级篇(大厂进阶):安装redis集群
61 24
|
2天前
|
NoSQL 关系型数据库 MySQL
Linux安装jdk、mysql、redis
Linux安装jdk、mysql、redis
58 7
|
1月前
|
NoSQL Linux PHP
如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤
本文介绍了如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤。接着,对比了两种常用的 PHP Redis 客户端扩展:PhpRedis 和 Predis,详细说明了它们的安装方法及优缺点。最后,提供了使用 PhpRedis 和 Predis 在 PHP 中连接 Redis 服务器及进行字符串、列表、集合和哈希等数据类型的基本操作示例。
64 4
|
2月前
|
NoSQL 数据可视化 Linux
redis学习四、可视化操作工具链接 centos redis,付费Redis Desktop Manager和免费Another Redis DeskTop Manager下载、安装
本文介绍了Redis的两个可视化管理工具:付费的Redis Desktop Manager和免费的Another Redis DeskTop Manager,包括它们的下载、安装和使用方法,以及在使用Another Redis DeskTop Manager连接Redis时可能遇到的问题和解决方案。
156 1
redis学习四、可视化操作工具链接 centos redis,付费Redis Desktop Manager和免费Another Redis DeskTop Manager下载、安装
|
1月前
|
存储 SQL 关系型数据库
2024Mysql And Redis基础与进阶操作系列(1)作者——LJS[含MySQL的下载、安装、配置详解步骤及报错对应解决方法]
Mysql And Redis基础与进阶操作系列(1)之[MySQL的下载、安装、配置详解步骤及报错对应解决方法]
|
2月前
|
存储 NoSQL Redis
Redis 配置
10月更文挑战第14天
37 1
|
2月前
|
NoSQL Ubuntu Linux
Redis 安装
10月更文挑战第14天
70 1
|
1月前
|
NoSQL 编译器 Linux
【赵渝强老师】Redis的安装与访问
本文基于Redis 6.2版本,详细介绍了在CentOS 7 64位虚拟机环境中部署Redis的步骤。内容包括安装GCC编译器、创建安装目录、解压安装包、编译安装、配置文件修改、启动服务及验证等操作。视频讲解和相关图片帮助理解每一步骤。
|
2月前
|
NoSQL Linux Redis
Docker学习二(Centos):Docker安装并运行redis(成功运行)
这篇文章介绍了在CentOS系统上使用Docker安装并运行Redis数据库的详细步骤,包括拉取Redis镜像、创建挂载目录、下载配置文件、修改配置以及使用Docker命令运行Redis容器,并检查运行状态和使用Navicat连接Redis。
346 3
|
2月前
|
存储 缓存 NoSQL
大数据-46 Redis 持久化 RDB AOF 配置参数 混合模式 具体原理 触发方式 优点与缺点
大数据-46 Redis 持久化 RDB AOF 配置参数 混合模式 具体原理 触发方式 优点与缺点
72 1