redis实践
-
剖析Redis RDB文件
通过redis-cli中执行save或者bgsave可以得到RDB文件(文件名由配置文件中dbfilename指定,例如dbfilename "dump.rdb"…
-
Redis几个重要的健康指标
存活情况 所有指标中最重要的当然是检查redis是否还活着,可以通过命令PING的响应是否是PONG来判断。 连接数 连接的客户端数量,可通过命令src/redis-cli inf…
-
Redisson实现Redis分布式锁的N种姿势
前几天发的一篇文章《Redlock:Redis分布式锁最牛逼的实现》,引起了一些同学的讨论,也有一些同学提出了一些疑问,这是好事儿。本文在讲解如何使用Redisson实现Redis…
-
Redis源码分析–RDB实现源码阅读
重要说明,在看这篇文章之前,最好先通过剖析Redis RDB文件 了解RDB文件的结构; RDB相关源码在rdb.c中;通过saveCommand(redisClient *…
-
SortedSet如何实现多维度排序
说明:本次实践基于Redis版本3.2.11。 关于SortedSet 首先,我们都知道Redis的SortedSet是可以根据score进行排序的,以手机应用商店的热门榜单排序为…
-
Redis源码分析–AOF文件全量重写源码阅读
重要说明,在看这篇文章之前,最好先通过 剖析Redis协议 了解Redis协议,AOF文件全量重写就是根据Redis协议生成的; AOF文件什么时候完全重写: 1 AOF文件超过6…
-
Redis源码分析–AOF文件增量追写源码阅读
重要说明,在看这篇文章之前,最好先通过 剖析Redis协议 了解Redis协议,AOF文件增量追写就是根据Redis协议生成的; 这个方法主要是实时追写AOF文件的业务逻辑,比如配…
-
Redis 5.0 正式发布!一网打尽所有新特性!
作为一统缓存江山的redis,正式发布了5.0稳定版(stable),激不激动,开不开森?Github链接:https://github.com/antirez/redis/rel…
-
9个提升逼格的redis命令
keys 我把这个命令放在第一位,是因为笔者曾经做过的项目,以及一些朋友的项目,都因为使用keys这个命令,导致出现性能毛刺。这个命令的时间复杂度是O(N),而且redis又是单线…
-
Redis的3个高级数据结构
平常我们我接触最多的是5个入门级数据结构:String,Hash,List,Set,Sorted Set。本文介绍3个高级数据结构:Bitmaps,Hyperloglogs,GEO…
-
Redlock:Redis分布式锁最牛逼的实现
普通实现 说道Redis分布式锁大部分人都会想到:setnx+lua,或者知道set key value px milliseconds nx。后一种方式的核心实现命令如下: – …
-
剖析Redis协议(续)
通过Jedis这个redis的client包,执行一个基本的命令:get Device:99为例,跟踪Jedis源码可知调用了redis.clients.jedis.Jedis中的…
-
Redis源码涉及C语言
sizeof(): 太复杂了,泪奔; void *memcpy(void *dest, const void *src, size_t n); me…
-
剖析Redis RDB文件
通过redis-cli中执行save或者bgsave可以得到RDB文件(文件名由配置文件中dbfilename指定,例如dbfilename "dump.rdb"…
-
Redis几个重要的健康指标
存活情况 所有指标中最重要的当然是检查redis是否还活着,可以通过命令PING的响应是否是PONG来判断。 连接数 连接的客户端数量,可通过命令src/redis-cli inf…
-
Redisson实现Redis分布式锁的N种姿势
前几天发的一篇文章《Redlock:Redis分布式锁最牛逼的实现》,引起了一些同学的讨论,也有一些同学提出了一些疑问,这是好事儿。本文在讲解如何使用Redisson实现Redis…
-
Redis源码分析–RDB实现源码阅读
重要说明,在看这篇文章之前,最好先通过剖析Redis RDB文件 了解RDB文件的结构; RDB相关源码在rdb.c中;通过saveCommand(redisClient *…