千家信息网

Redis有哪些用途及优缺点

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要介绍Redis有哪些用途及优缺点,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1、Memcached和Redis相比的劣势业界常用MySQL+Memcached这样
千家信息网最后更新 2026年10月31日Redis有哪些用途及优缺点

这篇文章主要介绍Redis有哪些用途及优缺点,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

1、Memcached和Redis相比的劣势

业界常用MySQL+Memcached这样的存储架构,但是随着访问量的不断攀蛇,随之而来的问题也有很多。

1、MySQL需要不停的拆库拆表,Memcached也需要跟着不断扩容;

2、Memcached与MySQL之间存在着一定的数据不一致的现象;

3、如果Memcached容易命中率变低,直接穿透到MySQL,导致数据库无法支撑;

2、Redis的特点

说起Redis,很多开发者都只知道它和Memcached一样是非关系型数据库,可以直接存储K-V形式的数据,但是相比起Memcached来说,他也有很多不同的地方。

1、Redis不仅仅只支持简单的K-V形式的数据存储,还支持list、set、hash、zset等等集合类数据的存储;

2、Redis支持实时的数据备份,及时宕机,也可以把数据恢复过来;

3、Redis支持数据的持久化,可以存放在内存memory中的数据直接保存在磁盘上;

3、Redis常用的数据类型

String、Hash、Set、List、SortedSet、pub/sub、Transactions。

1、String:Strings就是一个最最简单的Key-Value形式存储的变量。其中Value既可以是数字也可以是字符串。其实现方式是在Redis内部默认存储一个字符串,被redisObject引用,当检测到数字操作如自增自减incr、decr等等命令时,自动转化为数字进行计算,计算完毕后再转化为String存储起来。

2、Hash:Hash存储是键值对的value。即Key-Hash,而Hash又是一个k-v的结构,如果使用的Memcached,则需要把整个Hash打包存储在内存中,如果需要查询其中某个值,还要全部取出整个Hash,再查找对应值。而Redis可以直接通过命令获取到Value,大大提高了性能。 其实现原理:当成员较少时,Redis为了节约内存会采用类似一维数组的紧凑存储,而当对象较多时,则直接转为HashMap存储。

3、Set:Set是一个无序的天然去重的集合,即Key-Set。此外还提供了交集、并集等一系列直接操作集合的方法,对于求共同好友、共同关注什么的功能实现特别方便。其底层是靠HashMap实现的,其中value为null;

4、List:List是一个有序可重复的集合,其遵循FIFO的原则,底层是依赖双向链表实现的,因此支持正向、反向双重查找。通过List,我们可以很方面的获得类似于最新回复这类的功能实现。

5、SortedSet:类似于java中的TreeSet,是Set的可排序版。此外还支持优先级排序,维护了一个score的参数来实现。其底层主要依赖HashMap来实现的,通过维持插入的数值和Score优先级的映射来进行排序。

6、pub/sub:发布订阅,类似于消息队列mq。可以选择对某个Key进行订阅,一旦这个key发布了一些消息,则所有订阅了这个Key的对象就可以收到这个消息。主要可以用在实时消息系统上,例如聊天之类的。

7、Transactions:NoSQL不支持事务,但是通过提供了打包执行的功能,即这个包里面的所有命令必须要一起执行,此外还可以锁定某个Key,在打包执行命令时如果检测到这个Key发生了变化,则直接回滚。

4、Redis的常用应用场景

redis使用内存提供存储,通过持久化功能保存数据。且针对request是单线程操作。这一系列特点使得redis具有十分神奇的功能。

1、查找最新的回复。

如果在传统的关系型数据库,这就需要使用select * from table where name="" order by time desc limit 100;这十分消耗数据库性能,但是通过Redis,就可以直接在Redis里面通过Id创建一个List,指定长度1w,当需要查找时,直接输出该list的后100条记录。

2、排行问题

常见的排行问题,例如最热话题、游戏排名等等,这些都可以通过Redis来轻松实现,直接使用ZRank即可得到。

3、删除过期数据

Redis不是真正意义上的可持久化数据库,可以给数据加上一个有效时间,在有效时间超过时,Redis会自动删除对应数据。

以上是Redis有哪些用途及优缺点的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

数据 存储 支持 功能 数据库 内存 命令 消息 常用 底层 形式 数字 问题 排序 订阅 优缺点 用途 有效 不断 优先级 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 华服互联网科技靠谱吗 互联网扶贫科技 互联网科技公司官网 碳银互联网科技有限公司 互联网科技小额贷款 大白互联网科技 恒银科技与互联网金融 字节跳动和互联网科技 银川新华互联网科技职业技术培训学校图片 金融科技与互联网金融相同和不同 互联网科技创新服务 互联网保险科技创业 广州新华互联网科技学校电竞方面 群盈汇互联网科技有限公司 互联网科技数字货币 上海创道互联网络科技有限公司 济南小医互联网科技有限公司招聘 亚光科技低轨卫星互联网 现代互联网科技公司 中国主要互联网科技公司 上海睿民互联网科技有限公司 互联网科技工作委员会副主任毛军 中关村互联网科技集团 新华互联网科技学院 互联网中国科技 南山科技园互联网公司有哪些 开一家科技互联网公司需要多少钱 小米互联网科技园入驻 宇信科技在杭州互联网排第几 互联网科技和医药行业
0