什么是Redis?Redis在项目中的使用场景?
发布日期:2021-10-06 02:38:17 浏览次数:5 分类:技术文章

本文共 942 字,大约阅读时间需要 3 分钟。

什么是Redis

在日常的Java Web开发中,无不都是使用数据库(sql Server\mysql...)来进行数据的存储,由于一般的系统任务中通常不会存在高并发的情况,所以这样看起来并没有什么问题,可是一旦涉及大数据量的需求,比如一些商品抢购的情景,或者是主页访问量瞬间较大的时候,单一使用数据库来保存数据的系统会因为面向磁盘,磁盘读/写速度比较慢的问题而存在严重的性能弊端,一瞬间成千上万的请求到来,需要系统在极短的时间内完成成千上万次的读/写操作,这个时候往往不是数据库能够承受的,极其容易造成数据库系统瘫痪,最终导致服务宕机的严重生产问题。

Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI 编写、支持网络、可基于内存亦可持久化的日志型、Key-Value,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。

为了克服上述的问题,Java Web项目通常会引入NoSQL技术,这是一种基于内存的数据库,并且提供一定的持久化功能。

RedisMongoDB是当前使用最广泛的NoSQL,而就Redis技术而言,它的性能十分优越,可以支持每秒十几万此的读/写操作,其性能远超数据库,并且还支持集群、分布式、主从同步等配置,原则上可以无限扩展,让更多的数据存储在内存中,更让人欣慰的是它还支持一定的事务能力,这保证了高并发的场景下数据的安全和一致性。

 

Redis在项目中的使用场景?

数据类型:

  • String

        使用场景:封锁IP地址(Incrby命令)

 

  • Hash

        使用场景:存储用户信息,Hset(key,filed,age) Hget(key,filed)

        or

                Set(key,用信息的字符串)  Get(key)

                不建议使用String类型

 

  • List

        使用场景:实现最新消息的排行(push命令存入,pop命令取出)

 

  • Set:可以自动排重

        使用场景:微博中将每个用户的好友存在集合(set)中,两个用户的共同好友求交集即可

 

  • ZSet

        使用场景:以某一个条件为权重,进行排序。

       e.g  电商平台--商品详情的综合排名

 

 

 

 

转载地址:https://blog.csdn.net/luxuiary/article/details/105600187 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:ArrayList和LinkedList的区别?如何选用?
下一篇:JVM之GC垃圾回收机制

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2024年03月27日 01时46分43秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

Android studio 53 文件下载 2019-04-21
android studio 54 下载进度条 2019-04-21
android studio 70 歌曲服务器搭建 歌曲app 完整代码(发布版) 2019-04-21
Android单击事件处理与监听003 2019-04-21
vb 读取mysql所有表名_vb怎么列举出一个mdb数据库里面所有表名? 2019-04-21
mysql行级锁升级_mysql innodb 行级锁升级 2019-04-21
c 调用mysql密码为空_C语言连MySQL - osc_srnunz15的个人空间 - OSCHINA - 中文开源技术交流社区... 2019-04-21
mysql怎么分组查询所有数据库_Mysql-4 分组查询与子查询 2019-04-21
mysql 多列union_Mysql联合查询UNION和UNION ALL的使用介绍 2019-04-21
mysql导数据出指定数量_mysql导出指定数据或部份数据的方法 2019-04-21
java thread 多线程_java用Thread方式创建多线程 2019-04-21
java 注解与反射_Java注解与反射直接上手 2019-04-21
java按钮退出_java – 如何在此程序中添加退出按钮?怎么样“清楚”? 2019-04-21
python土味情话_Python 将土味情话语录设置为桌面壁纸 2019-04-21
java ip 范围内打卡_定位地理位置PHP判断员工打卡签到经纬度是否在打卡之内 2019-04-21
与java线程有关的,线程多少和什么有关?大神们表示有话要说! 2019-04-21
php正则表达式 匹配数字,正则表达式之匹配数字范围 2019-04-21
php中带?错误,参考-此错误在PHP中意味着什么? 2019-04-21
php生成链接列表,根据URL链接和抛文本生成链接<a>标签的PHP函数 2019-04-21
matlab里inline定义矩阵,Matlab中的inline函数_matlab中inline函数 2019-04-21