redis面试:请你谈谈对Redis的认识

您所在的位置:网站首页 redis的主要应用场景 redis面试:请你谈谈对Redis的认识

redis面试:请你谈谈对Redis的认识

2023-12-20 20:57| 来源: 网络整理| 查看: 265

为什么要引入:

在项目中,我们一般使用mysql来存储数据,但是又一些致命的弊端。主要来自性能方面。由于数据库持久化数据主要是面向磁盘,而磁盘的读写比较慢,在一般的管理系统上,由于不存在高并发,因此没有需要瞬间读写大量数据的要求,这时候传统数据库是没有问题的。但是如果面对一个高并发的场景,比如抢票、发红包等,或者是主页访问量瞬间比较大的时候,一瞬间会有成千上问的请求的到来,需要系统在极短的时间内完成成千上万次的读写操作。这时候数据库根本承受不来,很容易造成数据库系统的瘫痪,最终导致服务器宕机。

为了解决这个问题,我们可以引入nosql技术。nosql也是一种数据库,它是基于内存的,并提供一定的持久化功能。redis和mongodb是当前使用最广泛的nosql技术。

是什么?

Redis 全称 Remote Dictionary Server(即远程字典服务),它是一个基于内存实现的键值型非关系(NoSQL)数据库,由意大利人 Salvatore Sanfilippo 使用 C 语言编写。Redis 遵守 BSD 协议,实现了免费开源,其最新版本是 6.20,常用版本包括 3.0 、4.0、5.0。自 Redis 诞生以来,它以其超高的性能、完美的文档和简洁易懂的源码广受好评,国内外很多大型互联网公司都在使用 Redis,比如腾讯、阿里、Twitter、Github 等等。

常见的内存型数据库,除 Redis 之外,还有 Oracle Berkeley DB(甲骨文旗下的一款产品)、SQlite(轻量级内存数据库)、Memcache(键值型分布式缓存数据库)、Altibase(基于内存的高性能数据库)。

与其他内存型数据库相比,redis具有如下特点

redis不仅可以将数据完全保存在内存中,还可以通过磁盘实现数据的持久化支持redis支持丰富的数据类型,包括string、list、set、zset、hash等多种数据结构,因此它也被称为【数据结构服务器】redis支持主从同步,即master-slave主从复制模式。数据可以从主服务器向任意数量的从服务器上同步,有效的保证数据的安全性Redis 支持多种编程语言,包括 C、C++、Python、Java、PHP、Ruby、Lua 等语言。

与SQL型数据不同,redis没有提供新建数据库的操作,因为它自带了16(0-15)个数据库(默认使用0库)。在同一个库中,key是唯一存在的、不允许重复的,它就像一把“密钥”,只能打开一把“锁”。键值存储的本质就是使用key来标识value,当想要检索value时,必须使用与value对应的key进行查找

redis数据库没有“表”的概念,它通过不同的数据类型来实现存储数据的需求,不同的数据类型能够适应不同的应用场景1,从而满足开发者的需求

redis架构

redis体系架构主要分为两个部分

redis服务端redis客户端

客户端和服务端可以位于同一台计算机上,也可以位于不同的计算机上。服务端是整个架构的“大脑”,能够把数据存储到内存中,并且起到管理数据的作用

Redis 基于内存来实现数据的存储,因此其速度非常快。但是我们知道,计算机的内存是非常珍贵的资源,所以 Redis 不适合存储较大的文件或者二进制数据,否则会出现错误,Redis 适合存储较小的文本信息。理论上 Redis 的每个 key、value 的大小不超过 512 MB。

Redis官网(https://redis.io/)提供了完善的社区环境、文档说明,以及更新支持。

还有一个必看的网站: http://doc.redisfans.com/key/migrate.html

参考

什么是redis面试题之你对redis的认识REDIS入门


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3