Redis的安装与简单部署

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介:

截止到本文完成这一天,redis的最稳定版本是3.2.1,其下载地址:http://download.redis.io/releases/redis-3.2.1.tar.gz。直接wget一下就好了。

Redisの安装

在当前目录下#tar -zxvf redis-3.2.1.tar.gz之后,来到redis-3.2.1文件夹里,#make && make test,之后会出来一大片东西,会提示“\o/ All tests passed without errors!”,但是无法像其他软件那样去#make install,即使#make install还是提示hint:it's a good idea to "make test"。


进入redis文件包文件夹把redis.conf拷贝到/usr/local/redis/etc文件夹里,如果没有此文件夹请新建。再返回redis安装包文件夹的/src文件夹里,把里面所有的绿色脚本文件都mv到/usr/local/redis/bin里,来到/usr/local/redis/bin,#./redis-server,启动服务器程序。


这时,会有如下提示:

19183:C 29 Jun 09:35:07.086 # 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-server /usr/local/redis/etc/redis.conf。就会出现这样的图片。

wKioL1dzKb-Sa34yAAD11Fa7eoM743.png-wh_50

这里面的英文我拷贝出来,然后加以翻译。


18988:M 29 Jun 09:38:52.458 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.

警告:TCP backlog的值设定是511,这是无法启动的,因为/proc/sys/net/core/somaxconn的设定值是128,比你的511要低。

【解决方案】echo 511 > /proc/sys/net/core/somaxconn


18988:M 29 Jun 09:38:52.458 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.

警告:overcommit_memory这个值被设定为0!这样的低内存条件后台可能会失败,要解决这个问题,在/etc/sysctl.conf里增加一句话'vm.overcommit_memory = 1'然后重新启动服务器,如果你不想重新启动服务器,那么就输入'sysctl vm.overcommit_memory=1'解决。


18988:M 29 Jun 09:38:52.458 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.

警告:你的内核里有THP支持功能,这个可能会和redis建立一些延迟和内存,要解决这个问题请以root的身份运行命令:“echo never > /sys/kernel/mm/transparent_hugepage/enabled”,而且把这句话添加到/etc/rc.local里,这样在服务器重启之后就会关上这个设定,在THP禁用的时候,redis必须被重启。


18988:M 29 Jun 09:38:52.458 * The server is now ready to accept connections on port 6379


把上面三个problem都解决了之后,再一次#./redis-server /usr/local/redis/etc/redis.conf,屏幕变成这样:

wKiom1dzL4uhrsdVAAB6zR7x4h0944.png-wh_50


提示:服务器已经准备好从6379号端口接收连接了,意味着server端已经启动成功。如果你不喜欢6379号端口,而是喜欢4444号端口,那么就要把/usr/local/redis/etc下的redis.conf里的端口由6379改成4444,然后#./redis-server /usr/local/redis/etc/redis.conf

转后台启动

但是这样的启动是在前台启动,屏幕被霸占了,其他工作都做不了了,比较烦。我们希望redis在后台启动就好,怎么办呢?


#vim /usr/local/redis/etc/redis.conf。找到daemonize,把原来的no改成yes。这意味着redis是后台启动了。


这时候再一次的以redis.conf启动redis.server。就会发现屏幕没有什么变化和提示,但是使用#pstree -p|grep redis查看一下进程就知道redis已经在后台启动了,如图:

wKiom1dzNmbj4r3fAABiRML_-io784.png-wh_50

用#ps -ef的效果也在上面那张图里,至此整个redis的安装和启动过程结束。


在/usr/local/redis/bin里有一个文件叫redis-cli,cli是client登录的简写,也就是说这个是客户端登陆的启动文件。

wKioL1dzOOmRi9BQAABgSumxYqc579.png-wh_50

可见redis也是那种key-value模式的数据库,在上面的例子里name是key,value是Chris,name是ID,value是33664,但是一旦再一次将name赋值成了99f90,以前的33664就会消失。


而且即使退出客户端连接,再一次进入的话,原有的key和value也不会消失。而如果事前没有启动redis server,那么redis-cli是无法连接的,如图:

wKiom1dzPATyqjdpAABLynVFZHw614.png-wh_50

Redisの退出

至于关闭redis,方法就效仿其他软件,要么#pkill redis-server,要么就是#/usr/local/redis/bin/redis-cli shutdown




 本文转自 苏幕遮618 51CTO博客,原文链接:http://blog.51cto.com/chenx1242/1793895
相关实践学习
基于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
|
16天前
|
NoSQL Java 关系型数据库
Liunx部署java项目Tomcat、Redis、Mysql教程
本文详细介绍了如何在 Linux 服务器上安装和配置 Tomcat、MySQL 和 Redis,并部署 Java 项目。通过这些步骤,您可以搭建一个高效稳定的 Java 应用运行环境。希望本文能为您在实际操作中提供有价值的参考。
89 26
|
2天前
|
NoSQL 关系型数据库 MySQL
Linux安装jdk、mysql、redis
Linux安装jdk、mysql、redis
58 7
|
1月前
|
监控 NoSQL 网络协议
【Azure Redis】部署在AKS中的应用,连接Redis高频率出现timeout问题
查看Redis状态,没有任何异常,服务没有更新,Service Load, CPU, Memory, Connect等指标均正常。在排除Redis端问题后,转向了AKS中。 开始调查AKS的网络状态。最终发现每次Redis客户端出现超时问题时,几乎都对应了AKS NAT Gateway的更新事件,而Redis服务端没有任何异常。因此,超时问题很可能是由于NAT Gateway更新事件导致TCP连接被重置。
|
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 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。
345 3