Redis之Redis全局观

Redis的基本概念

Redis是典型的键值数据库,Redis的实现功能非常多,比如:日志、持久化机制、集群、事务等。应用场景也很多 ,比如:缓存、数据存储等高并发场景。在学习Redis时,如果直接从某个点学习就会造成只会某个点的知识,而不能将整个数据库串联起来。杂且乱!
所以说在学习某一个知识点时。要先建立起全局的观念非常重要。

1.要明白Redis数据库相比于MySQL关系型数据库的优势:

因为称为内存数据库,我们知道操作系统中内存速度是远远大于磁盘的,所以最大的特点就是存取数据非常快。

2.可以存储什么类型的数据?

MySQL是能够存储多种数据类型的,那么Redis能存储什么类型的数据?Redis提供的基础的数据类型就有五种:
String、list、hash、Set、Sorted set
此外Redis还为了应对特殊的场景需求提供几种特殊的数据类型:
BitMap(应用于签到统计)、HyperLogLog(应用于数据统计)、Geo(存储地理位置信息)
同时如果我们自己有实际的需要也可以自己扩展特殊的类型。

3.MySQL可以实现数据的增删改查,Redis可以么?

当然可以!并且操作方法更多,每种类型都自己对应的API;可以实现对数据的增删改查等操作。

4.Redis采用什么方式访问?

访问模式通常有两种

  • 一种是通过函数库调用的方式供外部应用使用,比如,上图中的
    libsimplekv.so,就是以动态链接库的形式链接到我们自己的程序中,提供键值存储功能;
  • 另一种是通过网络框架以 Socket 通信的形式对外提供键值对操作,这种形式可以提供广泛的键值存储服务。redis就是这种方式
    了解了上面的基本的问题,就算对Redis有一个初步的印象了。

5.总体的Redis架构是如何的?

如图为Redis的整体架构图:
在这里插入图片描述
如上图就展示了Redis总体的结构实现,可以看到架构从上到下可以总结以下几个问题:
1.我现在要访问的数据库是通过什么方式实现的
2.我访问到数据库后可以进行什么操作
3.如果我想存储不同的数据,数据库都支持哪些
4.数据库存储到内存中如何防止丢失
5.如何实现高可用
6.如何实现高扩展

6.Redis已经实现了这么多功能,使用Redis会不会出现一些问题?会出现哪些问题?问题如何定位?

了解了Redis整体的结构,就可以对出现问题对症下药:如下图总结了Redis常见问题及对应的问题出现的位置:
在这里插入图片描述上图就列出来了使用redis时在实际的业务场景中可能出现的问题及解决方案。这个图非常的重要!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值