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
Atas ialah kandungan terperinci redis源码多少行. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!