redis
文章平均质量分 86
redis源码学习分享
后打开撒打发了
有些人注定要生活在彼岸 可以亲近可以爱怜 甚至可以穷尽一生去思念 只是无法触及 有些距离 注定不能跨越 只能俩俩相望 就像有些爱只能养在心里 长在眼中 不要捧在手里 放在身边 注定只能邂逅 无法遭遇
展开
-
redis源码分析(八)、redis数据结构之压缩ziplist--------ziplist.c ziplist.h学习笔记
一、介绍ziplist/* The ziplist is a specially encoded dually linked list that is designed * to be very memory efficient. * Ziplist 是为了尽可能节约内存而设计相当特许的双端队列 *It stores both strings and integer values,原创 2017-12-20 16:20:29 · 758 阅读 · 0 评论 -
redis源码分析(9)redis源码链表学习总结 adlist.h adlist.c
adlist的实现就比较常规了,比较ziplist简单多了。每个链表节点使用一个 adlist.h/listNode 结构来表示:typedef struct listNode { // 前置节点 struct listNode *prev; // 后置节点 struct listNode *next; // 节点的值 vo原创 2017-12-20 16:21:18 · 508 阅读 · 0 评论 -
redis源码分析(七)、redis命令学习总结—Redis 有序集合(sorted set)
一、介绍Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。 不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。 有序集合的成员是唯一的,但分数(score)却可以重复。 集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。 集合中最大的成员数为 232 - 1 (4294967295,原创 2017-12-20 16:19:43 · 472 阅读 · 0 评论 -
redis源码分析(六)、redis命令学习总结—Redis 集合(Set)
一、介绍:Redis的Set是string类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。Redis 中 集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。二、命令学习。1、 SaddRedis Sadd 命令将一个或原创 2017-12-20 16:19:02 · 1007 阅读 · 0 评论 -
redis源码分析(五)、redis命令学习总结—哈希Hash
一、介绍hasp:大多数编程语言中的map数据结构一样,Redis是键值对的集合,也就是说它存放的是字符串和字符串之间的映射。由于这个特性,hash特别适用于存储一个对象。将一个对象存储在hash中会占用更少的内存,并且可以方便地存取整个对象。二、命令学习1、HsetRedis Hset 命令用于为哈希表中的字段赋值 。如果哈希表不存在,一个新的哈希表被创建原创 2017-12-20 16:18:25 · 498 阅读 · 0 评论 -
redis源码分析(四)、redis命令学习总结—链表List
一、链表List链表被广泛用于实现 Redis 的各种功能, 比如列表键, 发布与订阅, 慢查询, 监视器, 等等。每个链表节点由一个 listNode 结构来表示, 每个节点都有一个指向前置节点和后置节点的指针, 所以 Redis 的链表实现是双端链表。每个链表使用一个 list 结构来表示, 这个结构带有表头节点指针、表尾节点指针、以及链表长度等信息。因为链表表头节点的前置节点和表尾节原创 2017-12-20 16:17:37 · 428 阅读 · 0 评论 -
redis源码分析(三)redis命令学习总结—string字符串
一、描述字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据或Json对象描述信息等。在Redis中字符串类型的Value最多可以容纳的数据长度是512M二、redis字符串命令介绍1.set 命令:Redis SET 命令用于设置给定 key 的值。如果 key 已经存储其他值,原创 2017-12-20 16:15:56 · 468 阅读 · 0 评论 -
redis源码分析(二)、redis源码分析之sds字符串
sds字符串 根据传统, C 语言使用长度为N+1的字符数组来表示长度为 N 的字符串,并且字符数组的最后一个元素总是空字符 ‘\0’ 。C 语言使用的这种简单的字符串表示方式, 并不能满足 Redis 对字符串在安全性、效率、以及功能方面的要求, 本节接下来的内容将详细对比 C 字符串和 SDS 之间的区别, 并说明 SDS 比 C 字符串更适用于 Redis 的原因。SDS又叫简单动态字符串,原创 2017-11-12 00:35:37 · 1091 阅读 · 1 评论 -
redis源码分析(一)复习redis命令、持久化方案、主从同步原理、配置
源码分析之前复习一下redis知识,好久没用过redis有点生疏了。 一、redis的数据结构 redis可以存储键与5种不同数据结构类型之间的映射,这5种数据类型就是string(字符串)、list(列表)、set(集合)、hash(散列)、zset(有序集合)。redis命令对于这5种结构都是通用的,如del、type、range等。 1、string操作: string是redis原创 2017-11-03 01:43:39 · 541 阅读 · 0 评论