缓存
文章平均质量分 95
hongmingover
。。。。。。。
展开
-
看完这篇再也不怕 Redis 面试了
看完这篇再也不怕 Redis 面试了0x00.前言Redis是跨语言的共同技术点,无论是Java还是C++都会问到,所以是个高频面试点。笔者是2017年才开始接触Redis的,期间自己搭过单机版和集群版,不过现在大一些的公司都完全是运维来实现的,我们使用者只需要在web页面进行相关申请即可,很多细节都被屏蔽了,这样当然很方便啦,不过我们还是要深入理解一下的。在工作几年中笔者接触过Redis、类Redis的SSDB和Pika、谷歌的Key-Value存储引擎LevelDB、FackBook的K原创 2021-04-20 14:26:49 · 604 阅读 · 0 评论 -
为什么 Redis 选择单线程模型
为什么 Redis 选择单线程模型为什么这么设计(Why’s THE Design)是一系列关于计算机领域中程序设计决策的文章,我们在这个系列的每一篇文章中都会提出一个具体的问题并从不同的角度讨论这种设计的优缺点、对具体实现造成的影响。如果你有想要了解的问题,可以在文章下面留言。Redis 作为广为人知的内存数据库,在玩具项目和复杂的工业级别项目中都看到它的身影,然而 Redis 却是使用单线程模型进行设计的,这与很多人固有的观念有所冲突,为什么单线程的程序能够抗住每秒几百万的请求量呢?这.转载 2021-04-20 12:01:55 · 142 阅读 · 0 评论 -
布隆过滤器实战【防止缓存击穿】
布隆过滤器实战【防止缓存击穿】为什么引入我们的业务中经常会遇到穿库的问题,通常可以通过缓存解决。 如果数据维度比较多,结果数据集合比较大时,缓存的效果就不明显了。 因此为了解决穿库的问题,我们引入Bloom Filter。适合的场景 数据库防止穿库 Google Bigtable,Apache HBase和Apache Cassandra以及Postgresql 使用Blo...原创 2019-11-19 16:06:43 · 161 阅读 · 0 评论 -
限速请求
//-------------------------------限流的逻辑---------------------while(true) { $redisMutex = $objCache->setnx($setnx, time()+1); if ($redisMutex || (time()>$objCache->get($setnx) &&am...原创 2019-11-11 15:45:17 · 180 阅读 · 0 评论 -
memcached对key和value的限制 memcached的key最大长度和Value最大长度
memcached对key和value的限制 memcached的key最大长度和Value最大长度memcached的简单限制就是键(key)和item的限制。最大键长为250个字符。可以接受的储存数据不能超过1MB,因为这是典型slab 的最大值。这里我们可以突破对key长度的限制。问题解决:修改memcached源文件。在memcached.h中定义key的长度,其代码为:...转载 2019-05-13 11:13:25 · 713 阅读 · 0 评论 -
MQ如何快速实现流量削峰填谷
MQ如何快速实现流量削峰填谷版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011676417/article/details/70168194问:站点与服务,服务与服务上下游之间,一般如何通讯?答:有两种常见的方式一种是“直接调用”,通过RPC框架,上游直接调用下游。在某些业务场景之下(具体哪些业务场景,见《到底什...转载 2019-04-18 20:41:11 · 675 阅读 · 0 评论 -
Redis CAS乐观锁实现
Redis CAS乐观锁实现版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/luqiang81191293/article/details/77967275随着业务量的增大,系统必然遇到了并发资源抢占的问题,也就引发了分布式锁的讨论。在实现了ZK锁后,虽然解决了部分问题,但总感觉还有更好的方法(Redis锁性能肯定是比ZK高的,在这里就...转载 2019-04-17 17:48:48 · 379 阅读 · 0 评论 -
redis事务以及watch的理解
redis事务以及watch的理解2018.05.14 12:04字数 28阅读 156评论 0喜欢 0事务的特性1.原子性,数据库事务中的多个操作,要么同时执行成功,要么一个也不执行,执行的时候将事务中的命令入队列,当客户端发送执行命令时,将命令依次执行,如果遇到回滚操作,则抛弃该事务中队列的命令.2.一致性,数据库在执行事务之前一致的,那么执行之后也一致,这其中的一...转载 2019-04-16 11:40:55 · 411 阅读 · 0 评论 -
redis使用watch完成秒杀抢购功能(转)
redis使用watch完成秒杀抢购功能:使用redis中两个key完成秒杀抢购功能,mywatchkey用于存储抢购数量和mywatchlist用户存储抢购列表。它的优点如下:1. 首先选用内存数据库来抢购速度极快。2. 速度快并发自然没不是问题。3. 使用悲观锁,会迅速增加系统资源。4. 比队列强的多,队列会使你的内存数据库资源瞬间爆棚。5. 使用乐观锁,达到...转载 2019-04-16 11:38:01 · 212 阅读 · 0 评论 -
布隆过滤器的原理、实现和探究
布隆过滤器的原理、实现和探究2014年06月22日 08:30:20打工是不可能打工滴阅读数:5766更多所属专栏:机器学习理论与实践1.布隆过滤器的使用价值有时候我们需要判断一个元素是否在一个集合中。比如,在字处理软件中,需要检查一个单词是否拼写正确(也就是要判断它是否在已知的字典里);在警察系统中,一个嫌疑人的名字是否出现在嫌疑名单上;在网络爬虫里,一个网址是否已经...转载 2019-04-16 10:32:59 · 199 阅读 · 0 评论 -
分布式缓存击穿(布隆过滤器 Bloom Filter)
分布式缓存击穿(布隆过滤器 Bloom Filter)2018-07-03 04:19:56原创分布式系统共1249人围观0个不明物体前面的文章介绍了缓存的分类和使用的场景。通常情况下,缓存是加速系统响应的一种途径,通常情况下只有系统的部分数据。当请求了缓存中没有的数据时,这时候就会回源到DB里面。此时如果黑客故意对上面数据发起大量请求,则DB有可能会挂掉,这就是缓存击穿...转载 2019-04-15 23:50:35 · 173 阅读 · 0 评论 -
高并发请求的缓存设计策略
丁浪,阿里影业架构师,社区活跃人士。有分布式事务,分布式缓存方面的总结文章获得好评。本文获作者授权发布。缓存一致性问题(分布式事务问题)当数据时效性要求很高时,需要保证缓存中的数据与数据库中的保持一致,而且需要保证缓存节点和副本中的数据也保持一致,不能出现差异现象。这就比较依赖缓存的过期和更新策略。一般会在数据发生更改的时,主动更新缓存中的数据或者移除对应的缓存。缓...转载 2019-04-15 20:16:28 · 125 阅读 · 0 评论 -
使用redis的有序集合实现排行榜功能
使用redis的有序集合实现排行榜功能游戏中存在各种各样的排行榜,比如玩家的等级排名、分数排名等。玩家在排行榜中的名次是其实力的象征,位于榜单前列的玩家在虚拟世界中拥有无尚荣耀,所以名次也就成了核心玩家的追求目标。一个典型的游戏排行榜包括以下常见功能:能够记录每个玩家的分数; 能够对玩家的分数进行更新; 能够查询每个玩家的分数和名次; 能够按名次查询排名前N名的玩家; 能够查询...转载 2019-03-19 10:10:07 · 406 阅读 · 0 评论 -
浏览器缓存机制剖析
浏览器缓存机制剖析作者:翟灿东,网名路易斯,平安健康前端工程师。有四年前端架构及开发经验。熟悉正则,坚持原著,深度思考,力求简单通俗叙事。博客地址: http://louiszhai.github.io。 责编:陈秋歌,寻求报道或者投稿请发邮件至chenqg#csdn.net,或加微信:Rachel_qg。 了解更多前沿技术资讯,获取深度转载 2017-04-20 11:58:37 · 309 阅读 · 0 评论 -
从php到浏览器的缓存机制
从php到浏览器的缓存机制,不得不看!所有的PHP程序员都知道在php脚本里面执行 echo “1”;访客的浏览器里面就会显示“1”。但是我们执行下面的代码的时候,并不是显示“1”之后5秒再显示“2”,而是等待5秒后直接显示“12”echo '1';sleep(5);echo '2';这就涉及到几个缓存机制,为了更高的薪水,同学们非常有必要把这个转载 2017-02-04 11:39:30 · 253 阅读 · 0 评论