![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
redis
文章平均质量分 89
马小屑
这个作者很懒,什么都没留下…
展开
-
Redis只能做缓存?太out了!
redis的特点是,不管什么数据,都一股脑地搞到内存里做计算,这对于有时间序列概念,有冷热数据之分的业务,造成了非常大的成本考验。如果一个业务系统,每次交互的数据,都是一个非常大的结果集,并涉及到非常复杂的统计、过滤工作,那么RDBMS是必须的;但如果一个系统,能够通过某个标识,快速定位到一类数据,这一类数据在可以预见的未来,是有限的,那就非常适合Redis。redis的主从模式是最简单的模式,但无法做到自动failover,通常在主从切换后,还需要修改业务代码,这是不能忍受的。...原创 2022-08-06 13:22:02 · 473 阅读 · 0 评论 -
Redis是单线程的,但Redis为什么这么快?
近乎所有与Java相关的面试都会问到缓存的问题,基础一点的会问到什么是“二八定律”、什么是“热数据和冷数据”,复杂一点的会问到缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题,这些看似不常见的概念,都与我们的缓存服务器相关,一般常用的缓存服务器有Redis、Memcached等,而笔者目前最常用的也只有Redis这一种。如果你在以前面试的时候还没有遇到过面试官问你《为什么说Redis是单线程的以及Redis为什么这么快!》,那么你看到这篇文章的时候,你应该觉得是一件很幸运的事情!如果你刚好是一位高逼格原创 2022-08-06 13:18:48 · 226 阅读 · 0 评论 -
颜值爆表!Redis官方可视化工具来啦,功能真心强大!
RedisInsight是Redis官方出品的可视化管理工具,可用于设计、开发、优化你的Redis应用。支持深色和浅色两种主题,界面非常炫酷!可支持String、Hash、Set、List、JSON等多种数据类型的管理,同时支持远程使用CLI功能,功能非常强大!下面是RedisInsight的一张使用效果图,颜值不错!Redis经过多年发展,早已不仅仅是一个内存数据库了。有了RedisMod的支持,Redis的功能将变得非常强大。RediSearch:一个功能齐全的搜索引擎;...原创 2022-08-06 10:22:22 · 357 阅读 · 0 评论 -
解决Redis、MySQL缓存双写不一致问题
redis、mysql双写缓存不一致:但是在更新缓存方面,对于又或者是先目前没有一篇全面的博客,对这几种方案进行解析。于是博主战战兢兢,顶着被大家喷的风险,写了这篇文章。原创 2022-08-06 10:02:00 · 663 阅读 · 1 评论 -
Redis笔记进阶篇:万字长文-整理Redis,各种知识点,建议收藏
这里就会出现一个丢数据的概念你想,fork出来的子进程将要保存的数据是执行fork系统调用那个时刻的内存中的数据,很快这个内存就被标记为只读了,后续的增量数据没有写入到这个只读内存中,那就算是RDB成功生成了,然后好巧,Redis挂了,这些增量的数据就会丢(所以得使用AOF辅助)缓存击穿指的是Redis中确确实实存在用户查询的key,但是呢用户的访问频率太猛烈了,导致Redis扛不住挂了,导致大量的请求直接打向数据库,或者当某一个key的过期时间到了的瞬间,大量的请求打向数据库导致数据库直接挂了。...原创 2022-07-31 13:49:10 · 251 阅读 · 0 评论 -
Redis笔记基础篇:6分钟看完Redis的八种数据类型
他是一个字符串链表,left、right都可以插入添加。如果键不存在,创建新的链表。如果键已经存在,新增内容。值全部移除,key消失。由于是链表,所以它对头和尾操作的效率都极高。但是假如是对中间元素的操作,效率就可怜了。5.4、Set等同于java中的。...原创 2022-07-31 13:47:17 · 361 阅读 · 0 评论 -
基于Redis的分布式锁安全吗?(下)
我们前面提到过,当各方的争论在激烈进行的时候,Martin几乎始终置身事外。但是Martin在这件事过去之后,把这个事件的前后经过总结成了一个很长的故事线。https在这个故事总结的最后,Martin写下了很多感性的评论……(译文对我来说最重要的一点在于我并不在乎在这场辩论中谁对谁错——我只关心从其他人的工作中学到的东西,以便我们能够避免重蹈覆辙,并让未来更加美好。前人已经为我们创造出了许多伟大的成果站在巨人的肩膀上,我们得以构建更棒的软件。……...原创 2022-07-29 11:58:07 · 154 阅读 · 0 评论 -
基于Redis的分布式锁安全吗?(上)
网上有关Redis分布式锁的文章可谓多如牛毛了,不信的话你可以拿关键词“Redis分布式锁”随便到哪个搜索引擎上去搜索一下就知道了。这些文章的思路大体相近,给出的实现算法也看似合乎逻辑,但当我们着手去实现它们的时候,却发现如果你越是仔细推敲,疑虑也就越来越多。实际上,大概在一年以前,关于Redis分布式锁的安全性问题,在分布式系统专家和Redis的作者之间就发生过一场争论。由于对这个问题一直以来比较关注,所以我前些日子仔细阅读了与这场争论相关的资料。这场争论的大概过程是这样的。...原创 2022-07-29 11:52:22 · 146 阅读 · 0 评论 -
分享一个「Redis」实现「聊天回合制」的方案
为什么说网上搜不到,因为关于聊天回合制的方案作者本人快把百度搜秃噜了也没找到,好在最终是公司一个关系不错的大佬帮提供了点思路,最终作者将其完整实现了出来。其实写起来很简单,思路也不难,但忽然间让你来实现这个小功能的话还是挺费劲的,理不清楚就会一直卡在里面,理清楚了瞬间就念头通达。......原创 2022-07-23 14:48:33 · 116 阅读 · 0 评论 -
搭建Redis主从复制、哨兵、集群模式
首先单节点Redis服务器会带来单点故障,服务不可用,其次由于Redis默认是单进程,无法处理大量的并发数据请求,那么若是开启多进程又会导致cpu压力过大,重中之重的是数据丢失是一大灾难,为了避免以上情况,需要Redis服务器数量,但是增加服务器数据并不是单一的增加,需要搭建Redis集群模式,从而共享任务/资源。Redis集群是一个提供在多个Redis间节点间共享数据的程序集主从同步/复制哨兵模式Cluster。...原创 2022-07-23 14:04:37 · 207 阅读 · 0 评论 -
Nginx+Redis:高性能缓存利器
下图左边是常用的架构,http请求经过nginx负载均衡转发到tomcat,tomcat再从redis读取数据,整个链路过程是串行的,当tomcat挂掉或者tomcat线程数被消耗完,就无法正常返回数据。按下图第1和第2步定时执行,nginxlua定时器定时请求tomcat页面的url,返回的页面html保存在redis。缓存有效期可设置长些,比如1个小时,可保证1个小时内tomcat挂掉,仍可使用缓存数据返回,缓存的定时更新时间可设置短些,比如1分钟,保证缓存快速更新。使用lua-zlib库进行压缩。..原创 2022-07-23 10:57:02 · 1137 阅读 · 0 评论 -
4W字的Redis教程!!!!!!
Redis是基于c语言编写的开源非关系型内存数据库,可以用作数据库、缓存、消息中间件,这么优秀的东西客定要一点一点的吃透它。这是关于Redis五种数据结构详解,包括这五种的数据结构的底层原理实现。理论肯定是要用于实践的,因此最重要的还是实战部分,也就是这里还会讲解五种数据结构的应用场景。String字符串类型List列表类型Set无序集合类型ZSet有序集合类型Hash哈希表类型今天就带来了一个面试常问的一个问题假如你的Redis内存满了怎么办?maxmemory可以。文件中,配置,...原创 2022-07-22 11:38:44 · 357 阅读 · 0 评论 -
Redis 分布式锁
被动释放。进程崩溃后,进程本地锁自然会销毁,但Redis锁不会。所以要加TTL机制,防止因加锁者崩溃而导致锁无法释放;属主。线程不能释放别的线程的锁;锁等待。加锁失败时可以等待一段时间并重试,而不是立即返回;保活。通过定时刷新锁的TTL防止被动释放;不难发现,分布式锁比进程内本地锁要复杂得多,也重得多(本地锁操作是纳秒级别,分布式锁操作是毫秒级别),现实中,在使用分布式锁之前我们要思考下有没有其它更优方案,比如乐观锁、Lua脚本等。//给用户增加积分slerr!...原创 2022-07-21 13:18:09 · 425 阅读 · 0 评论 -
百行代码实现基于Redis的可靠延迟队列
上述场景最简单直接的解决方案是定时扫表。我们假设10分钟未支付则关闭订单、定时任务设置为5分钟一次,那么一个订单最晚会在15分钟关闭。高达5分钟的误差是业务难以接受的。另一方面频繁的扫表可能消耗过多数据库资源,影响线上交易吞吐量。此外还有朋友使用Redis的过期通知、时间轮、Java的DelayQueue等方式实现延时任务。我们在之前的中讨论过他们的缺陷比如使用Redis过期通知不保证准时、发送即忘不保证送达,时间轮缺乏持久化机制容易丢失等。本文的完整代码实现在完成安装。...原创 2022-07-21 11:49:26 · 75 阅读 · 0 评论 -
Msyql、Redis、MongoDB可视化监控工具Grafana
基于docker安装mysql、redis的可视化监控工具。原创 2022-07-21 11:25:47 · 726 阅读 · 0 评论 -
Redis docker 主从模式与哨兵sentinel
为实现redis的高可用,我们采用主从模式加哨兵的方法。一主二从三哨兵,共启动6个redis容器。本文示例在同一个服务器上进行操作。原创 2022-07-21 11:08:20 · 459 阅读 · 1 评论 -
Redis 内存优化神技,小内存保存大数据
我们应该从Redis是如何保存数据的原理展开,分析键值对的存储结构和原理。从而继续延展出每种数据类型底层的数据结构,针对不同场景使用更恰当的数据结构和编码实现更少的内存占用。为了保存数据,Redis需要先申请内存,数据过期或者内存淘汰需要回收内存,从而拓展出内存碎片优化。最后,说下key、value使用规范和技巧、Bitmap等高阶数据类型,运用这些技巧巧妙解决有限内存去存储更多数据难题……这一套组合拳下来直接封神。具体详情,且看「码哥」一一道来。...原创 2022-07-21 10:22:42 · 448 阅读 · 0 评论 -
【主流技术】Redis 在 Spring 框架中的实践
在JavaSpring项目中,数据与远程数据库的频繁交互对服务器的内存消耗比较大,而Redis的特性可以有效解决这样的问题。Redis以内存作为数据存储介质,读写数据的效率极高;Redis支持key-value等多种数据结构,提供字符串,哈希,列表,队列,集合结构直接存取于内存,可持久化(RDB和AOF);支持主从模式,可以配置集群。下面,我将和大家一起学习分享Redis的相关知识。1.1Redis是什么?数据库;会话缓存;消息队列;发布、订阅消息;...原创 2022-07-21 09:23:56 · 339 阅读 · 0 评论 -
Redis基础课程讲义
#Redis是一个基于内存的key-value结构数据库。Redis是互联网技术领域使用最为广泛的存储中间件,它是「RemoteDictionaryService」的首字母缩写,也就是「远程字典服务」。基于内存存储,读写性能高适合存储热点数据(热点商品、资讯、新闻)正在上传…重新上传取消企业应用广泛正在上传…重新上传取消#https//redis.io非关系型数据库。NoSql数据库并不是要取代关系型数据库,而是关系型数据库的补充。MysqlOracleDB2Redis。...原创 2022-07-16 14:41:18 · 123 阅读 · 0 评论