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.h
Redis 的异步网络框架,内容主要为对 socket 库的包装。aof.c
AOF 功能的实现。asciilogo.h
保存了 Redis 的 ASCII LOGO 。bio.c
、 bio.h
Redis 的后台 I/O 程序,用于将 I/O 操作放到子线程里面执行, 减少 I/O 操作对主线程的阻塞。bitops.c
二进制位操作命令的实现文件。blocked.c
用于实现 BLPOP 命令和 WAIT 命令的阻塞效果。cluster.c
、 cluster.h
Redis 的集群实现。config.c
、 config.h
Redis 的配置管理实现,负责读取并分析配置文件, 然后根据这些配置修改 Redis 服务器的各个选项。crc16.c
、 crc64.c
、 crc64.h
计算 CRC 校验和。db.c
数据库实现。debug.c
调试实现。dict.c
、 dict.h
字典数据结构的实现。endianconv.c
、 endianconv.h
二进制的大端、小端转换函数。fmacros.h
一些移植性方面的宏。help.h
utils/generate-command-help.rb
程序自动生成的命令帮助信息。hyperloglog.c
HyperLogLog 数据结构的实现。intset.c
、 intset.h
整数集合数据结构的实现,用于优化 SET 类型。lzf_c.c
、 lzf_d.c
、 lzf.h
、lzfP.h
Redis 对字符串和 RDB 文件进行压缩时使用的 LZF 压缩算法的实现。Makefile
、 Makefile.dep
构建文件。memtest.c
内存测试。mkreleasehdr.sh
用于生成释出信息的脚本。multi.c
Redis 的事务实现。networking.c
Redis 的客户端网络操作库, 用于实现命令请求接收、发送命令回复等工作, 文件中的函数大多为 write 、 read 、 close 等函数的包装, 以及各种协议的分析和构建函数。notify.c
Redis 的数据库通知实现。object.c
Redis 的对象系统实现。pqsort.c
、 pqsort.h
快速排序(QuickSort)算法的实现。pubsub.c
发布与订阅功能的实现。rand.c
、 rand.h
伪随机数生成器。rdb.c
、 rdb.h
RDB 持久化功能的实现。redisassert.h
Redis 自建的断言系统。redis-benchmark.c
Redis 的性能测试程序。redis.c
负责服务器的启动、维护和关闭等事项。redis-check-aof.c
、 redis-check-dump.c
RDB 文件和 AOF 文件的合法性检查程序。redis-cli.c
Redis 客户端的实现。redis.h
Redis 的主要头文件,记录了 Redis 中的大部分数据结构, 包括服务器状态和客户端状态。redis-trib.rb
Redis 集群的管理程序。release.c
、 release.h
记录和生成 Redis 的释出版本信息。replication.c
复制功能的实现。rio.c
、 rio.h
Redis 对文件 I/O 函数的包装, 在普通 I/O 函数的基础上增加了显式缓存、以及计算校验和等功能。scripting.c
脚本功能的实现。sds.c
、 sds.h
SDS 数据结构的实现,SDS 为 Redis 的默认字符串表示。sentinel.c
Redis Sentinel 的实现。setproctitle.c
进程环境设置函数。sha1.c
、 sha1.h
SHA1 校验和计算函数。slowlog.c
、 slowlog.h
慢查询功能的实现。solarisfixes.h
针对 Solaris 系统的补丁。sort.c
SORT 命令的实现。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.sup
valgrind 的suppression文件。version.h
记录了 Redis 的版本号。ziplist.c
、 ziplist.h
ZIPLIST 数据结构的实现,用于优化 LIST 类型。zipmap.c
、 zipmap.h
ZIPMAP 数据结构的实现,在 Redis 2.6 以前用与优化 HASH 类型, Redis 2.6 开始已经废弃。zmalloc.c
、 zmalloc.h
内存管理程序。 0 0
- Redis之1-基本目录
- redis之基本命令
- redis-[1]-redis基本数据类型
- redis之基本安装篇
- redis基本数据结构(1)
- redis基本数据结构之压缩列表
- redis.conf详解之基本配置
- redis数据库基础之基本操作
- 初识Redis之基本命令(三)
- Android之项目基本目录结构初识
- tomcat之目录基本配置概述
- Redis源码学习3-基本数据结构之双向链表
- Redis源码学习4-基本数据结构之字典
- Redis源码学习3-基本数据结构之双向链表
- Redis源码学习4-基本数据结构之字典
- Redis源码学习4-基本数据结构之字典
- Redis源码学习3-基本数据结构之双向链表
- X皮书之初识Redis(基本操作)
- C语言位操作
- 维护篇(5.2)-14. 内网接口性能测试 ❀ 飞塔 (Fortinet) 防火墙
- ruby 按照cpu的使用率对top中的进程排序(排序表格)
- 小结一下那些发起数据请求的元素(客户端与服务器端的基情)
- Android 自定义添加,查询联系人
- Redis之1-基本目录
- 认识组件——活动(Activity)
- 类的R引用全部报错
- linux、mac 安装mysql
- mysql-5.6.17-win32免安装版配置
- IOS 图片水印或者文字
- 技术分析之BootStrap
- 88. Merge Sorted Array
- Handler运行机制