分布式缓存中间件-Redis介绍与安装

本文涉及的产品
性能测试 PTS,5000VUM额度
注册配置 MSE Nacos/ZooKeeper,118元/月
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
简介: 分布式缓存中间件-Redis介绍与安装

1. Redis的介绍

Redis是一种非关系型数据库(NoSQL),NoSQL是以key-value的形式存储,和传统的关系型数据库不一样,不一定遵循传统数据库的一些基本要求,比如说SQL标准,ACID属性,表结构等等,这类数据库主要有以下特点:非关系型的、分布式的、开源的、水平可扩展的。  

NoSQL使用场景:对数据高并发读写、对海量数据的高效率存储和访问、对数据的高可扩展性和高可用性。

Redis的key可以是字符串、哈希、链表、集合和有序集合。value类型很多,包括string、list、set、zset。这些数据类型都支持push/pop、add/remove以及取交集和并集及更丰富的操作,Redis支持各种不同方式的排序。为了保证效率,数据都是在缓存在内存中,它也可以周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件。  

有了redis有哪些好处呢?举个比较简单的例子,看下图:

image.png

Redis集群和Mysql是同步的,首先从redis中获取数据,如果redis挂了,再从mysql中获取数据,这样网站就不会挂掉。更多关于redis的介绍以及使用场景,可以谷歌和百度,在这就不赘述了。

2. Redis的安装与部署

2.1 连接虚拟机首先得启动虚拟机的network服务。

我装的是目前最新版的CentOS7,虚拟机的网络使用的是桥接的方式。CentOS默认是不开启网卡的,所以首先得修改下配置。运行vi /etc/sysconfig/network-scrips/ifcfg-eno16777736打开配置文件将ONBOOT=no改为yes,CentOS默认是不开启网卡的接着在虚拟机重启network服务。#service network restart使用ifconfig查看eno16777736的ip地址,我的是192.168.1.120在window命令行ping一下该地址,如果能ping的通,说明可以连接。我的ip是192.168.1.105,所以没问题。ping通了说明可以使用putty来链接虚拟机了(当然了,也可以不使用putty,直接在CentOS的命令行操作也行,所以这一步不是必须的),打开putty输入虚拟机的ip地址,然后输入用户名和密码即可连接上:

image.png

image.png

2.2 安装gcc编译因为后面安装redis的时候需要编译,所以事先得先安装gcc编译,yum install gcc-c++

2.3 下载、解压和编译wget http://download.redis.io/releases/redis-3.2.2.tar.gz tar xzvf redis-3.2.2.tar.gz cd redis-3.2.2 makemake这一步可能会报错,如果报错,可以尝试使用如下命令来编译:make MALLOC=libc编译好的二进制文件会放到src/目录下,可以看到有redis-server和redis-cli,这是redis的服务端可客户端,我们到时候可以直接运行这两个文件即可启动服务端和客户端,下面再说。另外还有一些其他配置文件。我们会觉得这有点乱,所以我们一般会自己新建一个目录专门存放命令和配置。

2.4 移动文件、便于管理当然,你也可以不这么做~不过建议自己管理一下命令和配置,因为我的所有命令和配置都放在/usr/local/目录下,所有我在/usr/local/下新建了一个reids目录以及两个子目录来存放redis的命令和配置文件:mkdir –p /usr/local/redis/bin 放命令 mkdir –p /usr/local/redis/etc放配置文件然后将上面src目录下的命令和配置文件分别移动到对应的目录,移动后的结果如下:

image.png

2.5 启动redis服务进入到/usr/local/redis/bin目录下,执行./redis-server /usr/local/redis/etc/redis.conf这是根据配置文件redis.conf来启动redis服务,但是默认是前台启动的,会占用我的session,如果想要后台启动redis,还需要修改一下redis.conf的配置,打开该配置文件:vi /usr/local/redis/etc/redis.conf然后将daemonize=no改为yes,然后再启动一下redis服务就可以后台启动了,然后我们可以查看一下是否启动成功:ps -ef | grep redis  查看是否启动成功 netstat -tunpl | grep 6379  查看该端口有没有占用 结果如下:可以看出,redis启动正常。

image.png

2.6 启动redis客户端redis客户端命令也在bin目录下,是redis-cli文件,运行一下即可启动redis客户端:./redis-cli启动结果如下:

image.png

随便往里面插入一个name为eson15测试一下,可以正常获取,说明客户端没有问题。退出客户端的话直接quit即可。2.7 关闭redis服务关闭redis服务的话直接使用如下命令即可:pkill redis-server

image.png

可以看出,关闭了之后就没有该服务的信息了,端口号也没有占用了,运行客户端就会提示无法连接,说明redis服务已经关闭了。当然了,也可以使用如下命令关闭:./redis-cli shutdown


相关实践学习
基于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
目录
相关文章
|
1月前
|
NoSQL Java Redis
太惨痛: Redis 分布式锁 5个大坑,又大又深, 如何才能 避开 ?
Redis分布式锁在高并发场景下是重要的技术手段,但其实现过程中常遇到五大深坑:**原子性问题**、**连接耗尽问题**、**锁过期问题**、**锁失效问题**以及**锁分段问题**。这些问题不仅影响系统的稳定性和性能,还可能导致数据不一致。尼恩在实际项目中总结了这些坑,并提供了详细的解决方案,包括使用Lua脚本保证原子性、设置合理的锁过期时间和使用看门狗机制、以及通过锁分段提升性能。这些经验和技巧对面试和实际开发都有很大帮助,值得深入学习和实践。
太惨痛: Redis 分布式锁 5个大坑,又大又深, 如何才能 避开 ?
|
10天前
|
缓存 NoSQL 关系型数据库
大厂面试高频:如何解决Redis缓存雪崩、缓存穿透、缓存并发等5大难题
本文详解缓存雪崩、缓存穿透、缓存并发及缓存预热等问题,提供高可用解决方案,帮助你在大厂面试和实际工作中应对这些常见并发场景。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:如何解决Redis缓存雪崩、缓存穿透、缓存并发等5大难题
|
12天前
|
存储 缓存 NoSQL
【赵渝强老师】基于Redis的旁路缓存架构
本文介绍了引入缓存后的系统架构,通过缓存可以提升访问性能、降低网络拥堵、减轻服务负载和增强可扩展性。文中提供了相关图片和视频讲解,并讨论了数据库读写分离、分库分表等方法来减轻数据库压力。同时,文章也指出了缓存可能带来的复杂度增加、成本提高和数据一致性问题。
【赵渝强老师】基于Redis的旁路缓存架构
|
11天前
|
NoSQL Redis
Redis分布式锁如何实现 ?
Redis分布式锁通过SETNX指令实现,确保仅在键不存在时设置值。此机制用于控制多个线程对共享资源的访问,避免并发冲突。然而,实际应用中需解决死锁、锁超时、归一化、可重入及阻塞等问题,以确保系统的稳定性和可靠性。解决方案包括设置锁超时、引入Watch Dog机制、使用ThreadLocal绑定加解锁操作、实现计数器支持可重入锁以及采用自旋锁思想处理阻塞请求。
47 16
|
5天前
|
缓存 NoSQL PHP
Redis作为PHP缓存解决方案的优势、实现方式及注意事项。Redis凭借其高性能、丰富的数据结构、数据持久化和分布式支持等特点,在提升应用响应速度和处理能力方面表现突出
本文深入探讨了Redis作为PHP缓存解决方案的优势、实现方式及注意事项。Redis凭借其高性能、丰富的数据结构、数据持久化和分布式支持等特点,在提升应用响应速度和处理能力方面表现突出。文章还介绍了Redis在页面缓存、数据缓存和会话缓存等应用场景中的使用,并强调了缓存数据一致性、过期时间设置、容量控制和安全问题的重要性。
21 5
|
20天前
|
缓存 NoSQL Redis
Redis 缓存使用的实践
《Redis缓存最佳实践指南》涵盖缓存更新策略、缓存击穿防护、大key处理和性能优化。包括Cache Aside Pattern、Write Through、分布式锁、大key拆分和批量操作等技术,帮助你在项目中高效使用Redis缓存。
109 22
|
19天前
|
缓存 NoSQL 中间件
redis高并发缓存中间件总结!
本文档详细介绍了高并发缓存中间件Redis的原理、高级操作及其在电商架构中的应用。通过阿里云的角度,分析了Redis与架构的关系,并展示了无Redis和使用Redis缓存的架构图。文档还涵盖了Redis的基本特性、应用场景、安装部署步骤、配置文件详解、启动和关闭方法、systemctl管理脚本的生成以及日志警告处理等内容。适合初学者和有一定经验的技术人员参考学习。
112 7
|
23天前
|
存储 缓存 监控
利用 Redis 缓存特性避免缓存穿透的策略与方法
【10月更文挑战第23天】通过以上对利用 Redis 缓存特性避免缓存穿透的详细阐述,我们对这一策略有了更深入的理解。在实际应用中,我们需要根据具体情况灵活运用这些方法,并结合其他技术手段,共同保障系统的稳定和高效运行。同时,要不断关注 Redis 缓存特性的发展和变化,及时调整策略,以应对不断出现的新挑战。
59 10
|
21天前
|
存储 SQL 关系型数据库
2024Mysql And Redis基础与进阶操作系列(1)作者——LJS[含MySQL的下载、安装、配置详解步骤及报错对应解决方法]
Mysql And Redis基础与进阶操作系列(1)之[MySQL的下载、安装、配置详解步骤及报错对应解决方法]
|
23天前
|
缓存 监控 NoSQL
Redis 缓存穿透的检测方法与分析
【10月更文挑战第23天】通过以上对 Redis 缓存穿透检测方法的深入探讨,我们对如何及时发现和处理这一问题有了更全面的认识。在实际应用中,我们需要综合运用多种检测手段,并结合业务场景和实际情况进行分析,以确保能够准确、及时地检测到缓存穿透现象,并采取有效的措施加以解决。同时,要不断优化和改进检测方法,提高检测的准确性和效率,为系统的稳定运行提供有力保障。
48 5
下一篇
无影云桌面