redis是什么?可以用来做什么?

2020-03-22 14:27:33 java常见问答 5390

我们知道,redis的中文译为:缓存,数据库。那么在程序员的世界里,redis究竟是什么东东呢?一般用来做什么?

言目前的数据库分类有几种,包括 SQL/NSQL,关系数据库,键值数据库等等,分类的标准也不以,Redis本质上也是一种键值数据库的,但它在保持键值数据库简单快捷特点的同时,又吸收了部分关系数据库的优点。从而使它的位置处于关系数据库和键值数据库之间。Redis不仅能保存Strings类型的数据,还能保存Lists类型(有序)和Sets类型(无序)的数据,而且还能完成排序(SORT) 等高级功能,在实现INCR,SETNX等功能的时候,保证了其操作的原子性,除此以外,还支持主从复制等功能。

了解了redis本质后, 我们再来看看它的用处,通常局限点来说,redis也以消息队列的形式存在,作为内嵌的List存在,满足实时的高并发需求。而通常在一个电商类型的数据处理过程之中,有关商品,热销,推荐排序的队列,通常存放在redis之中,期间也包扩Storm对于redis列表的读取和更新。具体作用如下:

1、会话缓存(最常用)

2、消息队列(支付)

3、活动排行榜或计数

4、发布,订阅消息(消息通知)

5、商品列表,评论列表

redis的优点如下:

1,性能极高 ,Redis能支持超过 100K+ 每秒的读写频率。

2,丰富的数据类型 , Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。

3,原子性 ,redis的所有操作都是原子性的,同时redis还支持对几个操作全并后的原子性行。

4,丰富的特性,redis还支持 publish/subscribe, 通知, key 过期等等特性。

5,redis是完全开源免费的,遵守BSD协议,是一个高性能的键值数据库。是当前最热门的NoSql数据库之一,也被人们称为数据结构服务器。

redis的缺点:

是数据库容量受到物理内存的限制,不能用作海量数据的高性能读写,因此redis适合的场景主要局限在较小数据量的高性能操作和运算上。

由此可见, redis受限于特定的场景,专注于特定的领域之下,且速度相当之快。

关于redis的介绍就告一段落了,还想了解更多有关信息关注本站即可。