redis源码多少行


本文摘自PHP中文网,作者anonymity,侵删。

redis全称REmote DIctionary Server,是一个由Salvatore Sanfilippo写的高性能key-value存储系统,其完全开源免费,遵守BSD协议。Redis与其他key-value缓存产品(如memcache)有以下几个特点。

+ Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。

+ Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。

+ Redis支持数据的备份,即master-slave模式的数据备份。

Redis的性能极高且拥有丰富的数据类型,同时,Redis所有操作都是原子性的,也支持对几个操作合并后原子性的执行。另外,Redis有丰富的扩展特性,它支持publish/subscribe, 通知,key 过期等等特性。

Redis更为优秀的地方在于,它的代码风格极其精简,整个源码只有23000行,很有利于阅读和赏析!还在等什么呢?Start!

如何获取Redis源码?

redis是完全开源的,其源代码可以在直接在官网上获取(目前最新版本是3.2.5)。

Git获取:

源代码获取 git clone https://github.com/antirez/redis.git

linux端

1

2

3

cd ... // 这里打开你存放redis的文件夹

wget http://download.redis.io/releases/redis-3.2.5.tar.gz

tar zxvf redis-3.2.5.tar.gz

此时,进入解压后的redis目录下的src文件夹,redis的所有源代码都存放在此。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

[root@VM_123_20_centos redis-3.2.5]# cd src/

[root@VM_123_20_centos src]# ls

Makefile      crc64.h        mkreleasehdr.sh    redis-cli.o     sort.o

Makefile.dep  crc64.o        multi.c            redis-sentinel  sparkline.c

adlist.c      db.c           multi.o            redis-server    sparkline.h

adlist.h      db.o           networking.c       redis-trib.rb   sparkline.o

adlist.o      debug.c        networking.o       redisassert.h   syncio.c

ae.c          debug.o        notify.c           release.c       syncio.o

ae.h          debugmacro.h   notify.o           release.h       t_hash.c

ae.o          dict.c         object.c           release.o       t_hash.o

ae_epoll.c    dict.h         object.o           replication.c   t_list.c

ae_evport.c   dict.o         pqsort.c           replication.o   t_list.o

ae_kqueue.c   endianconv.c   pqsort.h           rio.c           t_set.c

ae_select.c   endianconv.h   pqsort.o           rio.h           t_set.o

anet.c        endianconv.o   pubsub.c           rio.o           t_string.c

anet.h        fmacros.h      pubsub.o           scripting.c     t_string.o

anet.o        geo.c          quicklist.c        scripting.o     t_zset.c

aof.c         geo.h          quicklist.h        sds.c           t_zset.o

aof.o         geo.o          quicklist.o        sds.h           testhelp.h

asciilogo.h   help.h         rand.c             sds.o           util.c

bio.c         hyperloglog.c  rand.h             sdsalloc.h      util.h

bio.h         hyperloglog.o  rand.o             sentinel.c      util.o

bio.o         intset.c       rdb.c              sentinel.o      valgrind.sup

bitops.c      intset.h       rdb.h              server.c        version.h

bitops.o      intset.o       rdb.o              server.h        ziplist.c

blocked.c     latency.c      redis-benchmark    server.o        ziplist.h

blocked.o     latency.h      redis-benchmark.c  setproctitle.c  ziplist.o

cluster.c     latency.o      redis-benchmark.o  setproctitle.o  zipmap.c

cluster.h     lzf.h          redis-check-aof    sha1.c          zipmap.h

cluster.o     lzfP.h         redis-check-aof.c  sha1.h          zipmap.o

config.c      lzf_c.c        redis-check-aof.o  sha1.o          zmalloc.c

config.h      lzf_c.o        redis-check-rdb    slowlog.c       zmalloc.h

config.o      lzf_d.c        redis-check-rdb.c  slowlog.h       zmalloc.o

crc16.c       lzf_d.o        redis-check-rdb.o  slowlog.o

crc16.o       memtest.c      redis-cli          solarisfixes.h

crc64.c       memtest.o      redis-cli.c        sort.c

以上就是redis源码多少行的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

Redis如何实现扩容

21个使用Redis时必须注意的要点(总结)

如何停止Redis

手把手教你使用Redis实现亿级数据统计(实战)

Redis一个hash能存多少field

Redis判断key是否存在

Redis怎么进行主从复制

Redis慢查询是什么

Redis的五大用途你都知道么

Redis集群需要设置哨兵吗

更多相关阅读请进入《Redis》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...