Home >Database >Redis >How many lines of redis source code

How many lines of redis source code

anonymity
anonymityOriginal
2019-06-05 10:29:414594browse

The full name of redis is REmote DIctionary Server. It is a high-performance key-value storage system written by Salvatore Sanfilippo. It is completely open source and free and complies with the BSD protocol. Redis has the following characteristics with other key-value caching products (such as memcache).

Redis supports data persistence. It can save the data in the memory to the disk and load it again for use when restarting.

Redis not only supports simple key-value type data, but also provides storage of data structures such as list, set, zset, and hash.

Redis supports data backup, that is, data backup in master-slave mode.

How many lines of redis source code

Redis has extremely high performance and rich data types. At the same time, all operations of Redis are atomic, and it also supports atomic execution after merging several operations. . In addition, Redis has rich extension features, which supports publish/subscribe, notifications, key expiration and other features.

What’s even better about Redis is that its code style is extremely streamlined. The entire source code is only 23,000 lines, which is very conducive to reading and appreciation! what are you waiting for? Start!

How to obtain the Redis source code?

redis is completely open source, and its source code can be obtained directly from the official website (the latest version currently is 3.2.5).

Git acquisition:

Source code acquisition git clone https://github.com/antirez/redis.git

linux end

cd ... // 这里打开你存放redis的文件夹
wget http://download.redis.io/releases/redis-3.2.5.tar.gz
tar zxvf redis-3.2.5.tar.gz

At this point, enter the src folder in the decompressed redis directory, where all the source code of redis is stored.

[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

The above is the detailed content of How many lines of redis source code. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn