redis与mysql的区别

1.mysql是可以持久化储存的关系型数据库,功能强大,既然涉及到储存那肯定要涉及到i/o操作(i/o操作就是输入(Input)和输出(Output)的意思)

访问速度相较于非关系型数据会慢很多,为了解决这个问题,于是就出现了缓存机制,把一些访问频次高的数据缓存一部分到内存中,如果用户在访问网站的时候,首先先在缓存中查询,如果未命中,再去mysql中查询.

所以如果是访问量不高的网站的话,完全用mysql一个数据库其实也可以完整的展现出页面

2.redis是一种非关系型数据库, 它最大的优点就是访问数据的速度快,,它是在驻留在内存中运行的,所以访问的速度更快,其中redis是

key-value的数据结构,每条数据都是一个键值对,键的类型是字符串,且键不能重复,值的类型分为五种:

字符串string
哈希hash
列表list
集合set
有序集合zset
-------------------------------------------------华丽的分界线------------------------------------------------------------------

终于到了重点部分,如果不想看两前面的介绍,可以直接跳过,来到这里.

其中两者的区别:

1.首先说说他们的本质区别,前者为关系型数据库,后者为非关系型数据库

2.一个是在磁盘上运行一个是在内存中运行

3.redis的数据相比于mysql,更容易丢失,因为是储存在内存中的

顺带提一下,其中普通的缓存中只提供了简单的数据结构,比如只是简单的string储存,但redis就不一样,它提供了大量的数据结构,其中包括了string,hashset,set,zset,list五中类型,有了这层封装的功能,这就方便很多了,这是和普通缓存不同的地方.

然后最重要的是实现的功能还一样,所以慢慢的选择redis的人更多了

最后说一句,mysql和redis两者功能并不冲突,可以协同一起使用,效率会更高
--------------------- 
转自https://blog.csdn.net/luzhiz/article/details/81033600?utm_source=copy

猜你喜欢

转载自blog.csdn.net/qq_39626154/article/details/83114374