CentOs7安装与配置Redis单机版图文详解

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: CentOs7安装与配置Redis单机版图文详解 原文地址 https://blog.csdn.net/Hello_World_QWP/article/details/78224862 《CentOs7安装与配置Redis服务器详情图文详解》 在安装前,首先我们要明确什么事Redis? Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

CentOs7安装与配置Redis单机版图文详解

原文地址 https://blog.csdn.net/Hello_World_QWP/article/details/78224862

《CentOs7安装与配置Redis服务器详情图文详解》


在安装前,首先我们要明确什么事Redis?

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。


安装Redis:


安装之间由于 redis 是用 C 语言编写的,这儿需要安装 GCC 和 C++ 环境输入命令 “ yum install -y gcc-c++ ” 即可。
当然还是先下载 Redis 包咯,这儿有一个现成的  http://download.csdn.net/download/hello_world_qwp/10021067 这个是我到官网上去下载的也是最新版本的,当然你不闲麻烦也可以到官网上去下载,  " https://redis.io/ " 进行下载最新版本。

下载完成后直接拷贝到服务器上,如下图:

安装前需要对Redis包进行解压,输入 " tar -zxf redis-4.0.2.tar.gz " 进行解压,解压完成后,如下图:

然后需要进入解压后的Redis目录,输入 " make " 对Redis 进行编译,如下图:

注意,一定要进入Redis目录make对Redis才起作用,有的朋友看完半截就开始操作,结果没用!
安装Redis,默认安装,输入 " make install ",如需要将Redis 安装到指定的目录,使用PREFIX后面跟路径,
输入 " make install PREFIX=/usr/local/redis " 进行安装,如下图:


启动Redis : 


启动前,需要进入Redis的启动目录 ,输入 " cd /usr/local/redis/bin " 命令,进入Redis的启动目录,如下图:

启动方式,有两种:
第一种启动方式,称为前端启动模式,输入 " ./redis-server " 进行启动,如下图:

第二种启动方式,称为后端启动模式,后端启动需要在启动时指定Redis的启动配置文件,先进入到Redis的解压包中,
输入 " cp redis.conf /usr/local/redis/bin "将redis.conf复制到启动目录中,如下图:

编辑redis.conf配置文件,将 " daemonize no " 修改为 " daemonize yes " ,然后保存,如下图:

配置完成后,就可以启动了,输入命令 " ./redis-server redis.conf ",进行启动,查看是否启动完成,
输入命令 " ps aux|grep redis " 能看到了ip及端口号,说明启动成功,如下图:

再链接到redis输入命令 " ./redis.cli " 进行连接,链接好了,就可以尽情的get/set了,快去享受Redis给你带来的快感吧!!!,如下图:

好了!以上为CentOs 7 安装 Redis 服务器 的全部操作内容,在下一期,我还会继续编写关于Redis集群环境的教程;
歇后语:“共同学习,共同进步”,也希望大家多多关注CSND的IT社区。


关于Redis 常用操作:

新增key : set keyname keyvalue
获取key : get keyname
取出当前匹配的所有key : keys * 
当前的key是否存在 : exists keyname
删除当前key : del keyname
设置过期时间(单位:秒):expire keyname 10
移动keyname键值对到1数据库 : move keyname 1
移除当前key的过期时间 : persist keyname
随机返回一个key :randomkey
重命名key : rename
返回值的数据类型 : type
测试连接是否还在 : ping
打印 : echo name
数据库切换 : select 1~16
退出连接 : quit
当前数据库中key的数量 : dbsize
服务器基本信息 : info
实时转储收到的请求 : monitor
获取服务器的参数配置 : config get
清空当前数据库 : flushdb
清除所有数据库 : flushall

关于Redis 的数据模型:

Redis的外围由一个键、值映射的字典构成。
与其他非关系型数据库主要不同在于:Redis中值的类型不仅限于字符串,还支持如下抽象数据类型:
字符串列表;
无序不重复的字符串集合;
有序不重复的字符串集合;
键、值都为字符串的哈希表;

关于Redis 的数据结构:

redis提供五种数据类型:string,hash,list,set及zset(sorted set)
string(字符串):
string是最简单的类型,一个key对应一个value。
list(双向链表):
list是一个链表结构,主要功能是push、pop、获取一个范围的所有值等等。
dict(hash表):
set是集合,和我们数学中的集合概念相似,对集合的操作有添加/删除元素,有对多个集合求交并差等操作。
zset(排序set):
zset是set的一个升级版本,他在set的基础上增加了一个顺序属性,这一属性在添加修改元素的时候可以指定,每次指定后,zset会自动重新按新的值调整顺序。

关于Redis的存储:

redis使用了两种文件格式:全量数据和增量请求。
全量数据:
全量数据格式是把内存中的数据写入磁盘,便于下次读取文件进行加载;
增量请求:
增量请求文件则是把内存中的数据序列化为操作请求,用于读取文件进行replay得到数据,序列化的操作包括SET、RPUSH、SADD、ZADD。

关于Redis数据存储、内存优化的一些优化手段:


存储:

redis的存储分为内存存储、磁盘存储和log文件三部分,配置文件中有三个参数对其进行配置。
save配置,指出在多长时间内,有多少次更新操作,就将数据同步到数据文件。
appendonly配置,指出是否在每次更新操作后进行日志记录,如果不开启,可能会在断电时导致一段时间内的数据丢失。
appendfsync配置,no表示等操作系统进行数据缓存同步到磁盘,always表示每次更新操作后手动调用fsync()将数据写到磁盘,everysec表示每秒同步一次。

内存优化: 

在实际Redis的使用过程中,redis实际上的内存管理成本非常高,即占用了过多的内存,所以在Redis的配置文件中也提供了一系列的参数和手段来控制和节省内存,如下具体配置简介:
首先最重要的一点是不要开启Redis的VM选项,即虚拟内存功能,这个本来是作为Redis存储超出物理内存数据的一种数据在内存与磁盘换入换出的一个持久化策略,但是其内存管理成本也非常的高,对于Redis的持久化策略并不成熟,所以要关闭VM功能,请检查你的redis.conf文件中 vm-enabled 为 no。
其次最好设置下redis.conf中的maxmemory选项,该选项是告诉Redis当使用了多少物理内存后就开始拒绝后续的写入请求,该参数能很好的保护好你的Redis不会因为使用了过多的物理内存而导致swap,最终严重影响性能甚至崩溃。
另外Redis为不同数据类型分别提供了一组参数来控制内存使用,注意Redis Hash是value内部为一个HashMap,如果该Map的成员数比较少,则会采用类似一维线性的紧凑格式来存储该Map, 即省去了大量指针的内存开销,这个参数控制对应在redis.conf配置文件中有如下配置项 :
hash-max-zipmap-entries 64 :
当value这个Map内部不超过多少个成员时会采用线性紧凑格式存储,默认是64,即value内部有64个以下的成员就是使用线性紧凑存储,超过该值自动转成真正的HashMap。
hash-max-zipmap-value 512 :
当 value这个Map内部的每个成员值长度不超过多少字节就会采用线性紧凑存储来节省空间。
总结:
以上2个条件任意一个条件超过设置值都会转换成真正的HashMap,也就不会再节省内存了,那么这个值是不是设置的越大越好呢,答案当然是否定的,HashMap的优势就是查找和操作的时间复杂度都是O(1)的,而放弃Hash采用一维存储则是O(n)的时间复杂度,如果
成员数量很少,则影响不大,否则会严重影响性能,所以要权衡好这个值的设置,总体上还是最根本的时间成本和空间成本上的权衡。
相关实践学习
基于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
相关文章
|
4天前
|
NoSQL 算法 Redis
docker高级篇(大厂进阶):安装redis集群
docker高级篇(大厂进阶):安装redis集群
53 24
|
1月前
|
NoSQL Linux PHP
如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤
本文介绍了如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤。接着,对比了两种常用的 PHP Redis 客户端扩展:PhpRedis 和 Predis,详细说明了它们的安装方法及优缺点。最后,提供了使用 PhpRedis 和 Predis 在 PHP 中连接 Redis 服务器及进行字符串、列表、集合和哈希等数据类型的基本操作示例。
58 4
|
1月前
|
存储 SQL 关系型数据库
2024Mysql And Redis基础与进阶操作系列(1)作者——LJS[含MySQL的下载、安装、配置详解步骤及报错对应解决方法]
Mysql And Redis基础与进阶操作系列(1)之[MySQL的下载、安装、配置详解步骤及报错对应解决方法]
|
1月前
|
NoSQL 编译器 Linux
【赵渝强老师】Redis的安装与访问
本文基于Redis 6.2版本,详细介绍了在CentOS 7 64位虚拟机环境中部署Redis的步骤。内容包括安装GCC编译器、创建安装目录、解压安装包、编译安装、配置文件修改、启动服务及验证等操作。视频讲解和相关图片帮助理解每一步骤。
|
NoSQL Linux Redis
Linux centos8安装redis
Linux centos8安装redis
394 0
|
消息中间件 缓存 NoSQL
Centos7安装单机版Redis
Centos7安装单机版Redis
199 0
|
NoSQL Java Linux
Centos7实现单服务器安装并开启多个Redis服务
Centos7实现单服务器安装并开启多个Redis服务
540 1
|
2月前
|
NoSQL Linux Redis
Docker学习二(Centos):Docker安装并运行redis(成功运行)
这篇文章介绍了在CentOS系统上使用Docker安装并运行Redis数据库的详细步骤,包括拉取Redis镜像、创建挂载目录、下载配置文件、修改配置以及使用Docker命令运行Redis容器,并检查运行状态和使用Navicat连接Redis。
332 3
|
3月前
|
NoSQL Linux Redis
linux之centos安装redis
linux之centos安装redis
|
4月前
|
NoSQL 数据可视化 Linux
2022 年超详细步骤讲解 CentOS 7 安装Redis 。解决Redis Desktop Manager 图形化工具连接失败解决 ;connection failed处理。开机自启Redis
这篇文章提供了在CentOS 7上安装Redis的详细步骤,包括上传Redis安装包、解压安装、编译、安装、备份配置文件、修改配置以支持后台运行和设置密码、启动Redis服务、使用客户端连接Redis、关闭Redis服务、解决Redis Desktop Manager图形化工具连接失败的问题、设置Redis开机自启动,以及Redis服务的启动和停止命令。
2022 年超详细步骤讲解 CentOS 7 安装Redis 。解决Redis Desktop Manager 图形化工具连接失败解决 ;connection failed处理。开机自启Redis
下一篇
DataWorks