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端
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的所有源代码都存放在此。
[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源码多少行的详细内容,转载自php中文网
发表评论 取消回复