Redis源码分析(二)——Redis数据结构-链表

标签: redis 数据结构 源码 链表 typedef
2127人阅读 评论(1) 收藏 举报
分类:

这里写图片描述

数据结构——节点

typedef struct listNode{
  struct listNode *prev;
  struct listNode *next;
  void *value;
}listNode;
  • prev:链表节点的前驱
  • next:链表节点的后继
  • value:节点中的值

数据结构——链表

typedef struct list{
  listNode *head;
  listNode *tail;
  unsigned long len;
}list;
  • head:链表头节点
  • tail:链表尾节点
  • len:链表中节点个数

Redis链表的特点

  • 双向链表
  • 无环
  • 带头节点 和 尾节点
  • 多态:采用void*保存节点值,可以保存各种不同类型的值。

这里写图片描述

查看评论

【Redis笔记(四)】 Redis数据结构 - list链表

经过前面的介绍,我们学习了Redis中string字符串、hash哈希这两种数据结构的常用命令。这篇文章将介绍Redis中的list – 列表的相关操作。...
  • Xiejingfa
  • Xiejingfa
  • 2016年01月24日 15:29
  • 3470

Redis源码分析(三十五)--- redis.c服务端的实现分析(2)

在Redis服务端的代码量真的是比较大,如果一个一个API的学习怎么实现,无疑是一种效率很低的做法,所以我今天对服务端的实现代码的学习,重在他的执行流程上,而对于他的模块设计在上一篇中我已经分析过了,...
  • Androidlushangderen
  • Androidlushangderen
  • 2014年11月08日 09:45
  • 5791

【Redis缓存机制】5.List链表类型介绍和操作

数据类型List链表 (1)介绍 list类型其实就是一个双向链表。通过push,pop操作从链表的头部或者尾部添加删除元素。 这使得list既可以用作栈,也可以用作队列。 该list链表类型应...
  • u013517797
  • u013517797
  • 2016年11月20日 15:03
  • 2730

redis源码分析-ziplist(压缩链表)

ziplist结构在redis运用非常广泛,是列表、字典等数据类型的底层结构之一。ziplist的优点在于能够一定程度地节约内存。 ziplist构成ziplist结构由zip_header、zip_...
  • Mijar2016
  • Mijar2016
  • 2016年07月31日 11:20
  • 792

Redis源码解析(二):redis之服务器-redis.c

我们一次来看这份代码,揭开redis服务器的神秘面纱。     首先是命令映射表: /*命令映射表,参数1:命令,参数2:指向实现此命令的函数,参数3:参数个数,参数4:标志位(具体信息看注释), ...
  • flashflight
  • flashflight
  • 2015年03月24日 00:51
  • 2045

Redis与Java - 数据结构

Redis与Java标签 : Java与NoSQL Redis(REmote DIctionary Server) is an open source (BSD licensed), in-mem...
  • hanqing280441589
  • hanqing280441589
  • 2016年07月23日 08:02
  • 7402

【Redis源码剖析】 - Redis内置数据结构之双向链表list

在《Redis学习笔记》系列的前面几篇文章中,我们分别讲述了Redis的几种常用数据结构(分别是string、hash、list、set、sorted set)和事务处理。在接下来的文章中,我们就要深...
  • Xiejingfa
  • Xiejingfa
  • 2016年03月20日 19:43
  • 2619

分布式缓存技术redis学习系列(一)——redis简介以及linux上的安装

redis简介 redis是NoSQL(No Only SQL,非关系型数据库)的一种,NoSQL是以Key-Value的形式存储数据。当前主流的分布式缓存技术有redis,memcached,...
  • pfnie
  • pfnie
  • 2016年08月17日 21:04
  • 660

redis 链表操作

1  link链表结构    把值插入链表头部    lpush key value  向左边插入    lpush  character   a    rpush  character  b    ...
  • Erica_1230
  • Erica_1230
  • 2016年01月31日 03:04
  • 2924

redis的五种数据结构

reids官方命令集查询: http://redis.io/commands redis整合各种语言案例查询: https://github.com/josiahcarlson/redis-in...
  • fan510988896
  • fan510988896
  • 2017年05月12日 15:17
  • 5372
    个人资料
    专栏达人 持之以恒
    等级:
    访问量: 43万+
    积分: 6338
    排名: 4821
    我的微信公众号
      大闲人柴毛毛
      一个分享技术干货和记录程序员奋斗史的地方。快关注我吧!
    博客专栏
    最新评论