Redis之1-基本目录

来源:互联网 发布:网络爬虫可以做什么 编辑:程序博客网 时间:2024/05/18 17:59

 redis的作者,叫Salvatore Sanfilippo,来自意大利的西西里岛,现在居住在卡塔尼亚。目前供职于Pivotal公司。他使用的网名是antirez。相应的github地址:https://github.com/antirez/redis

redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用很方便。[1] 
Redis支持主从同步。数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。这使得Redis可执行单层树复制。存盘可以有意无意的对数据进行写操作。由于完全实现了发布/订阅机制,使得从数据库在任何地方同步树时,可订阅一个频道并接收主服务器完整的消息发布记录。同步对读取操作的可扩展性和数据冗余很有帮助。
redis的官网地址,非常好记,是redis.io。(特意查了一下,域名后缀io属于国家域名,是british Indian Ocean territory,即英属印度洋领地)
目前,Vmware在资助着redis项目的开发和维护。

附录:各个源码文件的作用简介

文件作用adlist.c 、 adlist.h双端链表数据结构的实现。ae.c 、 ae.h 、 ae_epoll.c 、ae_evport.c 、 ae_kqueue.c 、ae_select.c事件处理器,以及各个具体实现。anet.c 、 anet.hRedis 的异步网络框架,内容主要为对 socket 库的包装。aof.cAOF 功能的实现。asciilogo.h保存了 Redis 的 ASCII LOGO 。bio.c 、 bio.hRedis 的后台 I/O 程序,用于将 I/O 操作放到子线程里面执行, 减少 I/O 操作对主线程的阻塞。bitops.c二进制位操作命令的实现文件。blocked.c用于实现 BLPOP 命令和 WAIT 命令的阻塞效果。cluster.c 、 cluster.hRedis 的集群实现。config.c 、 config.hRedis 的配置管理实现,负责读取并分析配置文件, 然后根据这些配置修改 Redis 服务器的各个选项。crc16.c 、 crc64.c 、 crc64.h计算 CRC 校验和。db.c数据库实现。debug.c调试实现。dict.c 、 dict.h字典数据结构的实现。endianconv.c 、 endianconv.h二进制的大端、小端转换函数。fmacros.h一些移植性方面的宏。help.hutils/generate-command-help.rb 程序自动生成的命令帮助信息。hyperloglog.cHyperLogLog 数据结构的实现。intset.c 、 intset.h整数集合数据结构的实现,用于优化 SET 类型。lzf_c.c 、 lzf_d.c 、 lzf.h 、lzfP.hRedis 对字符串和 RDB 文件进行压缩时使用的 LZF 压缩算法的实现。Makefile 、 Makefile.dep构建文件。memtest.c内存测试。mkreleasehdr.sh用于生成释出信息的脚本。multi.cRedis 的事务实现。networking.cRedis 的客户端网络操作库, 用于实现命令请求接收、发送命令回复等工作, 文件中的函数大多为 write 、 read 、 close 等函数的包装, 以及各种协议的分析和构建函数。notify.cRedis 的数据库通知实现。object.cRedis 的对象系统实现。pqsort.c 、 pqsort.h快速排序(QuickSort)算法的实现。pubsub.c发布与订阅功能的实现。rand.c 、 rand.h伪随机数生成器。rdb.c 、 rdb.hRDB 持久化功能的实现。redisassert.hRedis 自建的断言系统。redis-benchmark.cRedis 的性能测试程序。redis.c负责服务器的启动、维护和关闭等事项。redis-check-aof.c 、 redis-check-dump.cRDB 文件和 AOF 文件的合法性检查程序。redis-cli.cRedis 客户端的实现。redis.hRedis 的主要头文件,记录了 Redis 中的大部分数据结构, 包括服务器状态和客户端状态。redis-trib.rbRedis 集群的管理程序。release.c 、 release.h记录和生成 Redis 的释出版本信息。replication.c复制功能的实现。rio.c 、 rio.hRedis 对文件 I/O 函数的包装, 在普通 I/O 函数的基础上增加了显式缓存、以及计算校验和等功能。scripting.c脚本功能的实现。sds.c 、 sds.hSDS 数据结构的实现,SDS 为 Redis 的默认字符串表示。sentinel.cRedis Sentinel 的实现。setproctitle.c进程环境设置函数。sha1.c 、 sha1.hSHA1 校验和计算函数。slowlog.c 、 slowlog.h慢查询功能的实现。solarisfixes.h针对 Solaris 系统的补丁。sort.cSORT 命令的实现。syncio.c同步 I/O 操作。testhelp.h测试辅助宏。t_hash.c 、 t_list.c 、 t_set.c、 t_string.c 、 t_zset.c定义了 Redis 的各种数据类型,以及这些数据类型的命令。util.c 、 util.h各种辅助函数。valgrind.supvalgrind 的suppression文件。version.h记录了 Redis 的版本号。ziplist.c 、 ziplist.hZIPLIST 数据结构的实现,用于优化 LIST 类型。zipmap.c 、 zipmap.hZIPMAP 数据结构的实现,在 Redis 2.6 以前用与优化 HASH 类型, Redis 2.6 开始已经废弃。zmalloc.c 、 zmalloc.h内存管理程序。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 淘宝想开2个店铺怎么办 拼多多没钱交保证金怎么办 差评一个月后怎么办 淘宝买家投诉成立后怎么办 天猫投诉成立了怎么办 新开实体店铺没生意怎么办 新开淘宝没流量怎么办 白色板鞋有青草弄的绿色怎么办 淘宝租衣服不退押金怎么办 c盘不可以扩展怎么办 实践教学管理平台忘记账号怎么办 淘宝申请售后店家不处理怎么办 全民k歌地区限制怎么办 网络电视hdp无法下载怎么办 淘宝店铺销量为零怎么办 快递号填错卖家拒绝退款申请怎么办 淘宝店代购 售假怎么办 淘宝申请售后卖家没钱怎么办 淘宝禁止评价一个月怎么办 被卖家电话骚扰怎么办 恶意骚扰扣12分怎么办 新店开张交保证金被骗了怎么办 支付宝蚂蚁花呗逾期怎么办 被注销的微信怎么办 花呗有些不能用怎么办 实体店生意不好做怎么办 电器实体店生意越来越差怎么办 开业第一天不吉利怎么办 美容店开业第一天没人怎么办 淘宝店铺没有人访问怎么办 淘宝店铺没有人问怎么办 淘宝申请退款后店铺关闭怎么办 宝贝详情怎么改不了怎么办 改详情页后被删除宝贝怎么办 淘宝网商贷生意不好还不了怎么办 英国遗失在酒店物品怎么办 班福法则首位是0怎么办 同事能力比你强怎么办 新买的木板床响怎么办 笔记本键盘驱动坏了怎么办 云柜快递超时了怎么办