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

简介: 分布式缓存中间件-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


目录
相关文章
|
9月前
|
存储 负载均衡 NoSQL
【赵渝强老师】Redis Cluster分布式集群
Redis Cluster是Redis的分布式存储解决方案,通过哈希槽(slot)实现数据分片,支持水平扩展,具备高可用性和负载均衡能力,适用于大规模数据场景。
600 2
|
9月前
|
存储 缓存 NoSQL
【📕分布式锁通关指南 12】源码剖析redisson如何利用Redis数据结构实现Semaphore和CountDownLatch
本文解析 Redisson 如何通过 Redis 实现分布式信号量(RSemaphore)与倒数闩(RCountDownLatch),利用 Lua 脚本与原子操作保障分布式环境下的同步控制,帮助开发者更好地理解其原理与应用。
747 6
|
10月前
|
存储 缓存 NoSQL
Redis核心数据结构与分布式锁实现详解
Redis 是高性能键值数据库,支持多种数据结构,如字符串、列表、集合、哈希、有序集合等,广泛用于缓存、消息队列和实时数据处理。本文详解其核心数据结构及分布式锁实现,帮助开发者提升系统性能与并发控制能力。
|
7月前
|
缓存 负载均衡 监控
135_负载均衡:Redis缓存 - 提高缓存命中率的配置与最佳实践
在现代大型语言模型(LLM)部署架构中,缓存系统扮演着至关重要的角色。随着LLM应用规模的不断扩大和用户需求的持续增长,如何构建高效、可靠的缓存架构成为系统性能优化的核心挑战。Redis作为业界领先的内存数据库,因其高性能、丰富的数据结构和灵活的配置选项,已成为LLM部署中首选的缓存解决方案。
761 25
|
8月前
|
存储 缓存 NoSQL
Redis专题-实战篇二-商户查询缓存
本文介绍了缓存的基本概念、应用场景及实现方式,涵盖Redis缓存设计、缓存更新策略、缓存穿透问题及其解决方案。重点讲解了缓存空对象与布隆过滤器的使用,并通过代码示例演示了商铺查询的缓存优化实践。
344 1
Redis专题-实战篇二-商户查询缓存
|
7月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
804 6
|
7月前
|
缓存 运维 监控
Redis 7.0 高性能缓存架构设计与优化
🌟蒋星熠Jaxonic,技术宇宙中的星际旅人。深耕Redis 7.0高性能缓存架构,探索函数化编程、多层缓存、集群优化与分片消息系统,用代码在二进制星河中谱写极客诗篇。
1339 3
|
8月前
|
NoSQL Java 调度
分布式锁与分布式锁使用 Redis 和 Spring Boot 进行调度锁(不带 ShedLock)
分布式锁是分布式系统中用于同步多节点访问共享资源的机制,防止并发操作带来的冲突。本文介绍了基于Spring Boot和Redis实现分布式锁的技术方案,涵盖锁的获取与释放、Redis配置、服务调度及多实例运行等内容,通过Docker Compose搭建环境,验证了锁的有效性与互斥特性。
734 0
分布式锁与分布式锁使用 Redis 和 Spring Boot 进行调度锁(不带 ShedLock)
|
8月前
|
缓存 NoSQL 关系型数据库
Redis缓存和分布式锁
Redis 是一种高性能的键值存储系统,广泛用于缓存、消息队列和内存数据库。其典型应用包括缓解关系型数据库压力,通过缓存热点数据提高查询效率,支持高并发访问。此外,Redis 还可用于实现分布式锁,解决分布式系统中的资源竞争问题。文章还探讨了缓存的更新策略、缓存穿透与雪崩的解决方案,以及 Redlock 算法等关键技术。
|
12月前
|
缓存 NoSQL 关系型数据库
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?

热门文章

最新文章