Fork me on GitHub

随笔分类 -  NOSQL、BigData

摘要: 说到 ___hash table___ 有两个东西是我们经常会碰到的,首先就是 ___hash 碰撞___ 问题,__redis dict__ 是采用链地址法来解决,___dictEntry->next___ 就是指向下个冲突 __key__ 的节点。 还有一个经常碰到的就是 __rehash__ 的问题,提到 __rehash__ 我们还是有点担心性能的。那么redis 实现是非常巧妙的,采用 ___惰性渐进式 rehash 算法___ 。 阅读全文
posted @ 2018-01-27 09:24 王清培 阅读(2262) 评论(0) 推荐(1) 编辑
摘要: redis 为我们提供了 5 种数据类型,基本上我们使用频率最高的就是 string ,而对其他四种数据类型使用的频次稍弱于 string 。 一方面是由于 string 使用起来比较简单,可以方便存储复杂大对象,使用场景比较多。还有一个原因就是由于 redis expire time 只能设置在 key 上,像 list、hash、set、zset 属于集合类型,会管理一组 item,我们无法在这些集合的 item 上设置过期时间,所以使用 expire time 来处理集合的 cache 失效会变得稍微复杂些。但是 string 使用 expire time 来管理过期策略会比较简单,因为它包含的项少。这里说的集合是宽泛的类似集合。 导致我们习惯性的使用 string 阅读全文
posted @ 2018-01-21 11:05 王清培 阅读(5349) 评论(2) 推荐(4) 编辑
摘要: 最近一段时间与redis接触比较频繁。发现有些东西还是工作中经常会用到的,自己也花了点时间巩固下。本篇文章主要是以总结性的方式梳理,因为redis的主题很大,任何一个技术点展开都是几篇文章的量。也可以说这篇文章是个概览。 阅读全文
posted @ 2017-07-29 15:35 王清培 阅读(4175) 评论(9) 推荐(7) 编辑
摘要: redis setnx 命令特性 当指定key不存在时才设置。也就是说,如果返回1说明你的命令被执行成功了,redis服务器中的key是你之前设置的值。如果返回0,说明你设置的key在redis服务器里已经存在。 阅读全文
posted @ 2017-06-18 14:15 王清培 阅读(18451) 评论(6) 推荐(0) 编辑

点击右上角即可分享
微信分享提示