E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Redis源码学习
Redis源码学习
之【哈希字典】
介绍Redis的哈希字典通过key值来找对应的value。需要注意的是Redis的字典是如何进行rehash的。源码dict.hdict.c数据结构如上图所示,哈希字典用dict结构体表示,其中含有两个哈希表,主要用于进行rehash操作。同时哈希表使用量表的方式解决冲突。具体的数据结构如下:/* *哈希表节点 */ typedefstructdictEntry{ //键 void*key;
qqyanchong
·
2013-03-16 16:00
redis
Redis源码学习
之【内存分配】
介绍Redis现在的版本可以支持使用tcmalloc或者是jemalloc或是apple的malloc,或者是Redis自己的zmalloc。zmalloc对内存的分配管理是线程安全的,而且分配的内存必须要求是以sizeof(long)对其的。源码zmalloc.hzmalloc.c分析宏变量说明:PREFIX_SIZE:在实际分配的内存之前用于记录分配的内存的大小,和在实际的C中的malloc的
qqyanchong
·
2013-03-16 15:00
redis
Redis源码学习
之【动态字符串】
介绍由于在标准C中没有字符串这一类型,因而Redis实现了一个自己的字符串sds。源文件sds.hsds.c分析数据结构//sds类型 typedefchar*sds; //sdshdr结构 structsdshdr{ //buf已占用长度 intlen; //buf剩余可用长度 intfree; //实际保存字符串数据的地方 charbuf[]; };特点主要支持如下操作new,dump
qqyanchong
·
2013-03-16 14:00
redis
Redis源码学习
之【链表】
介绍Redis自己实现了一个含有迭代器的双向链表。基本功能就是通用的双向链表,源码实现还是值得阅读以下的。源文件adlist.hadlist.c分析这里主要介绍其主要的数据结构其他的链表相关的操作有兴趣的话可以自己去看源码,其中的细节tricky还是挺多的。/*Node,List,andIteratoraretheonlydatastructuresusedcurrently.*/ /* *链表
qqyanchong
·
2013-03-16 10:00
redis
Redis源码学习
之【前言】
前言之前言本来上年的时候要参与到一个关于Redis中的项目中的,但是由于临时的决定参与到了其他的项目。心中一直对Redis可以说是念念不忘,印象最深的是当初一开始听到Redis的时候,说它是数据库中的AK-47。而作者SalvatoreSanfilippo在实现Redis的时候完全按照标准C进行编写,一切需要的数据结构和算法都是自己实现。编码风格是将编出来的代码像诗歌一样优美。Redis简介作为前
qqyanchong
·
2013-03-16 10:00
redis
上一页
1
2
3
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他