温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么理解并掌握Redis

发布时间:2021-11-03 16:38:37 来源:亿速云 阅读:128 作者:iii 栏目:编程语言

本篇内容介绍了“怎么理解并掌握Redis”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value键值对数据库,并提供多种语言的API

Redis的使用环境

  • 数据高并发的读写

  • 海量数据的读写

  • 对扩展性要求高的数据

Redis的功能

  • 数据缓存

  • 分布式锁

  • 支持事务

  • 支持消息队列

  • 支持数据持久化

Redis为啥是单线程

因为Redis的瓶颈最有可能是机器内存或者网络带宽,而不是CPU。既然单线程容易实现,并且CPU不是瓶颈,那么自然就使用单线程的法案,另外需要知道的是,单线程并不代表慢,node.js也是高性能单线程

缓存穿透

  • 指查询一个一定不存在的数据时,由于缓存是不命中时需要从数据库查询,查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到数据库去查询,造成缓存穿透

  • 解决:如果一个查询返回的数据为空,把这个空结果进行缓存,但他的过期时间会很短

Redis持久化

  • RDB:指定的时间间隔能够对你的数据进行快照存储

  • AOF:每一个受到的写命令都通过write函数追加到文件中

Redis实现分布式锁

  • Redis分布式锁,其实就是在系统里面,占用一个”位置“,其他程序也要占用这个“位置”时,成功继续执行,失败只能放弃或者稍后再试

  • Redis分布式锁不能解决超时的问题,如果时间超过了锁的超时时间就会出现问题

Redis的淘汰策略

  • volatile-lru:从已设置过期时间的数据集中挑选最近最少使用的数据淘汰

  • volatite-ttl:从已设置过期时间的数据集中挑选即将过期的数据淘汰

  • volatile-random:从已设置过期时间的数据集中任意选择数据淘汰

  • allkeys-lru:从数据集中选择最近最少使用的数据淘汰

  • allkeys-random:从数据集中任意选择数据淘汰

  • no-enviction:禁止驱逐数据

“怎么理解并掌握Redis”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI