首页
学习
活动
专区
工具
TVP
发布

码洞

专栏作者
176
文章
182280
阅读量
46
订阅数
Redis6 最重要的新功能「客户端缓存」是个什么鬼?
应用缓存通常分两种,本地缓存和远程缓存。本地缓存就是内存缓存 LocalCache,远程缓存就是分布式共享缓存比如 Redis。本地缓存在访问性能上远胜过远程缓存,但是在一致性上要弱一些。我们平时经常会用到的 Guava Cache 就是内存缓存技术框架。
老钱
2020-07-14
1.4K0
Redis 生涯就此结束
最近 Redis 之父 antirez 退休了,以下是他的临别赠言,我抽空翻译了一下,原文在某些地方语言组织的比较晦涩,翻译的可能不是很到位。
老钱
2020-07-14
7260
倒排索引的精致结构
前文提到倒排索引就是一个字典,字典的 Key 是关键词,字典的 Value 是文档 ID 列表(PostingList)。但是如果再深入一些,就完全不是这么回事,不论是 Key 还是 Value 其内部的实现结构都要比一个简单的字典复杂的太多。
老钱
2019-09-11
1.2K0
搜索引擎的预料库 —— 万恶的爬虫
本节我们来生产一个简单的语料库 —— 从果壳网爬点文章。后面我们将使用这些文章来完成索引构建和关键词查询功能。
老钱
2019-09-08
6070
深圳 GIAC 技术大会 Redis 演讲文字稿
观众朋友们,我是来自掌阅的工程师钱文品,今天我带来的是分享主题是:Redis 在海量数据和高并发下的优化实践。Redis 对于从事互联网技术工程师来说并不陌生,几乎所有的大中型企业都在使用 Redis 作为缓存数据库,但是对于绝大多数企业来说只会用到它的最基础的 KV 缓存功能,还有很多 Redis 的高级功能可能都未曾认真实践过。今天在这一个小时的时间我会围绕 Redis,分享在平时的日常业务开发中遇到的 9 个经典案例,希望通过此次分享可以帮助大家更好的将 Redis 的高级特性应用到日常的业务开发中来。
老钱
2019-06-26
4840
Redis 精确去重计数 —— 咆哮位图
如果要统计一篇文章的阅读量,可以直接使用 Redis 的 incr 指令来完成。如果要求阅读量必须按用户去重,那就可以使用 set 来记录阅读了这篇文章的所有用户 id,获取 set 集合的长度就是去重阅读量。但是如果爆款文章阅读量太大,set 会浪费太多存储空间。这时候我们就要使用 Redis 提供的 HyperLogLog 数据结构来代替 set,它只会占用最多 12k 的存储空间就可以完成海量的去重统计。但是它牺牲了准确度,它是模糊计数,误差率约为 0.81%。
老钱
2019-06-11
1.9K1
关于服务限流的一些思考
限流必然是很有价值的,在系统资源不足时面对外部世界的不确定性(突发流量,超预期的用户)而形成的一种自我保护机制。
老钱
2019-06-05
4900
一个简单的基于 Redis 的分布式任务调度器 —— Java 语言实现
折腾了一周的 Java Quartz 集群任务调度,很遗憾没能搞定,网上的相关文章也少得可怜,在多节点(多进程)环境下 Quartz 似乎无法动态增减任务,恼火。无奈之下自己撸了一个简单的任务调度器,结果只花了不到 2天时间,而且感觉非常简单好用,代码量也不多,扩展性很好。
老钱
2019-05-14
1.2K0
布隆过滤器实战【防止缓存击穿】
我们的业务中经常会遇到穿库的问题,通常可以通过缓存解决。 如果数据维度比较多,结果数据集合比较大时,缓存的效果就不明显了。 因此为了解决穿库的问题,我们引入Bloom Filter。
老钱
2019-04-25
1.5K0
RPC 服务器之【多进程描述符传递】高阶模型
今天老师要给大家介绍一个比较特别的 RPC 服务器模型,这个模型不同于 Nginx、不同于 Redis、不同于 Apache、不同于 Tornado、不同于 Netty,它的原型是 Node Cluster 的多进程并发模型。
老钱
2018-09-29
8910
老板们都应该学一学 Redis,它能管理上亿对象,你们呢?
我们知道一个大型的公司往往都具有复杂的组织结构,成百上千号员工,要做到大而不乱,就必须依靠合理的组织结构来优化内部的交流成本。Redis 内部也有组织结构,不同的是这个组织结构要维系上亿的对象,而不是几百几千。今天我来向大家呈现 Redis 如何来管理这上亿的对象而不会混乱的。
老钱
2018-09-29
5180
如履薄冰 —— Redis懒惰删除的巨大牺牲
之前我们介绍了Redis懒惰删除的特性,它是使用异步线程对已经删除的节点进行延后内存回收。但是还不够深入,所以本节我们要对异步线程逻辑处理的细节进行分析,看看Antirez是如何实现异步线程处理的。异步线程在Redis内部有一个特别的名称,它就是BIO,全称是Background IO,意思是在背后默默干活的IO线程。不过内存回收本身并不是什么IO操作,只是CPU的计算消耗可能会比较大而已。
老钱
2018-08-15
4390
天下无难试之Redis面试刁难大全
Redis在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在Redis的使用和原理方面对小伙伴们进行各种刁难。作为一名在互联网技术行业打击过成百上千名【请允许我夸张一下】的资深技术面试官,看过了无数落寞的身影失望的离开,略感愧疚,故献上此文,希望各位读者以后面试势如破竹,永无失败!
老钱
2018-08-15
7590
Lettuce快速入门
最近在开发一个使用Redis协议包装HBase的Proxy服务器,一路写的很顺,客户端使用redis-py提供的execute_command方法也轻松搞定。但是在编写Java客户端的时候却遇到了难题,我们常用的Jedis不提供自定义指令,连反射这条路子都给堵死了,感觉陷入了僵局。难道需要自己改造Jedis的源代码么,代价有点大。
老钱
2018-08-15
2.2K0
服务发现的基本原理
服务发现并没有怎样的高深莫测,它的原理再简单不过。只是市面上太多文章将服务发现的难度妖魔化,读者被绕的云里雾里,顿觉自己智商低下不敢高攀。
老钱
2018-08-15
1.4K0
基于Netty实现Redis协议的编码解码器
上面是Netty的服务器端基本消息处理结构,为了便于初学者理解,它和真实的结构有稍许出入。Netty是基于NIO的消息处理框架,用来高效处理网络IO。处理网络消息一般走以下步骤
老钱
2018-08-14
1.6K0
深入Python多进程通信原理与实战——图文
继上节使用原生多进程并行运行,基于Redis作为消息队列完成了圆周率的计算,本节我们使用原生操作系统消息队列来替换Redis。
老钱
2018-08-14
5280
求不更学不动之Redis5.0新特性Stream尝鲜
Redis5.0最近被作者突然放出来了,增加了很多新的特色功能。而Redis5.0最大的新特性就是多出了一个数据结构Stream,它是一个新的强大的支持多播的可持久化的消息队列,作者坦言Redis Stream狠狠地借鉴了Kafka的设计。
老钱
2018-08-14
8070
求不更学不动之Redis5.0新特性Stream尝鲜
Redis5.0最近被作者突然放出来了,增加了很多新的特色功能。而Redis5.0最大的新特性就是多出了一个数据结构Stream,它是一个新的强大的支持多播的可持久化的消息队列,作者坦言Redis Stream狠狠地借鉴了Kafka的设计。
老钱
2018-08-14
5970
深入理解 RPC 消息协议设计
本节我们开始讲解 RPC 的消息协议设计背后的基本原理,了解 RPC 的协议开发背后有哪些需要考虑的基本点。在通晓原理之后,我们就可以自己设计一套协议来开发属于自己的 RPC 系统。
老钱
2018-08-14
1K0
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档