自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

鹏哥哥Aaa

程序员小白的成长

  • 博客(12)
  • 资源 (4)
  • 收藏
  • 关注

原创 12 客户端

Redis服务器是典型的一对多服务器程序:一个服务器可以与多个客户端建立网络连接,每个客户端可以向服务器发送请求,而服务器接受并处理客户端发送的命令请求,并向客户端返回命令回复。通过I/O多路复用技术实现的文件事件处理器,Redis服务器使用单线程单进程的方式处理命令请求,并与多个客户端进行网络通信。对于每个与服务器进行连接的客户端,服务器都为这些客户端建立相应的redis.h/redis...

2020-03-30 18:04:40 124

原创 11.事件

Redis服务器是一个事件驱动程序,服务器需要处理一下两类事件:1)文件事件:Redis服务器通过套接字与客户端进行连接,而文件事件就是服务器对套接字操作的抽象。服务器与客户端的通信会产生相应的文件事件,而服务器则通过监听并处理这些事情来完成一系列网络通信操作。2)时间事件:Redis服务器中的一些操作需要在给定的时间点执行,而时间事件就是对这类定时操作的抽象。1.文件事件R...

2020-03-30 13:50:13 131

原创 10.AOF持久化

AOF提供了持久化的功能,AOF持久化是通过保存Redis服务器所执行的写命令来记录数据库状态。被写入AOF文件的所有命令都是以Redis的命令请求协议格式保存的,因为Redis的命令请求协议是纯文本格式,所以我们可以直接打开一个AOF文件1. AOF持久化的实现AOF持久化实现可以分为命令追加、文件写入、文件同步三个步骤1.1 命令追加当AOF持久化功能处于打开状...

2020-03-26 13:09:41 151

原创 9.RDB持久化

1.概念一般,我们将服务器中的非空数据库以及它们的键值对统称为数据库状态。因为Redis是内存数据库,它将自己的数据库状态存储在内存中,所以如果不想办法将储存在内存中的数据库状态保存到磁盘肯定不行。为了解决这个问题,RDB持久化就应运而生。RDB持久化可以手动执行,也可以根据服务器配置定期执行。RDB持久化生成的RDB文件是一个经过压缩的二进制文件,该文件可以还原成RDB文件时的数...

2020-03-25 14:29:03 173

原创 8.数据库

1. 服务器中的数据库Redis服务器将所有数据库都保存在服务器状态redis.h/redisServer结构的db数组中,db数组的每个项都是一个redis.h/redisDb结构,每个redisDb结构代表一个数据库:struct redisServer{ //... //一个数组,保存着服务器中的所有数据库 redisDb *db; //......

2020-03-23 14:09:26 148

原创 7.对象

1.概念我们前面介绍了Redis用到的所有主要数据结构,但是Resid并没有直接使用这些数据结构来实现键值对数据库,而是基于这些数据结构创建了一个对象系统。这个系统包含字符串对象、列表对象、哈希对象、集合对象和有序集合对象这五种类型的对象,每种对象都至少对应一种前面的数据结构。通过这五种不同类型的对象,Redis可以在执行命令之前,根据对象的类型来判断一个对象是否可以执行给定的命令。使...

2020-03-20 18:23:03 155

原创 6.压缩列表

压缩列表是列表和哈希键的底层实现之一,当一个列表键只包含少量列表项,并且每个列表项要么就是小整数值,要么就是长度比较短的字符串,那么Redis就会使用压缩列表来做列表键的底层实现。1.压缩列表的构成压缩列表是Redis为了节约内存而开发的,是由一系列特殊编码的连续内存块组成的顺序型数据结构。一个压缩列表可以包含任意多个节点,每个节点可以保存一个字节数组或者一个整数值。1.1...

2020-03-18 21:51:22 457

原创 5.整数集合

整数集合是集合键的底层实现之一,当一个集合只包含整数值元素,并且这个集合的元素数量不多时,Redis就会使用整数集合作为集合键的底层实现。1.整数集合的实现...

2020-03-18 18:13:10 609

原创 4.跳跃表

1.概念跳跃表是一种有序数据结构,它通过在每个节点中维持多个指向其他节点的指针,从而达到快速访问节点的目的。跳跃表支持平均O(lgN)、最坏O(N)复杂度的节点查找,还可以通过顺序性操作来批量处理节点。Redis使用跳跃表作为有序集合键的底层实现之一,如果一个有序集合包含的元素数量过多、或者有序集合中元素的成员是比较长的字符串时,Redis会使用跳跃表作为有序集合键的底层实现。Re...

2020-03-17 11:33:23 135

原创 3.字典

1.概念字典,又叫符号表、关联数组、映射。是一种用于保存键值对的抽象数据对象。字典在Redis中应用范围十分广泛,比如Redis的数据库就是使用字典来作为底层实现的,对数据库的增删改查都是构建在字典操作之上的。字典还是哈希表的底层实现之一,当一个哈希键包含的键值对比较多,又或者键值对中的元素都是比较长的字符串时,Redis就会使用字典作为哈希键的底层实现。2.字典的实现...

2020-03-16 22:48:08 102

原创 2.链表

1.链表在Redis中的使用链表提供高效的节点重排能力,以及顺序性的节点访问方式,并且可以通过增删节点灵活调整链表的长度。链表在Redis中的作用:链表键、发布与订阅、慢查询、监视器、构建客户端输出缓冲区等2.链表和链表节点的实现每个链表节点使用一个adlist.h/listNode结构:typedef struct listNode{ //前置节点 ...

2020-03-12 22:06:37 85

原创 1.数据结构与对象--简单动态字符串

1.什么是简单动态字符串Redis中的没有用C语言传统的字符串(简称C字符串),而是自己构建了一种名叫简单动态字符串(SDS)的抽象类型。在Redis中C字符串仅仅用作无需对字符串值进行修改的地方,比如日志。对于key,value这种需要变动的键值,底层都是SDS实现。SDS还用做缓冲区:AOF模块中的AOF缓冲区,以及客户端状态中的输入缓冲区,都是由SDS实现...

2020-03-11 23:51:31 136

mysql-5.5.13-win32.zip

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。 MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。 MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。 由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。

2019-09-16

eclipse反编译第三方插件

计算机软件反向工程(Reverse engineering)也称为计算机软件还原工程,是指通过对他人软件的目标程序(比如可执行程序)进行“逆向分析、研究”工作,以推导出他人的软件产品所使用的思路、原理、结构、算法、处理过程、运行方法等设计要素,某些特定情况下可能推导出源代码。反编译作为自己开发软件时的参考,或者直接用于自己的软件产品中。

2019-02-14

Search and Replace.rar

Search and Replace是一个功能强大的搜寻与替代工具。它可以在同一部硬盘中对所有的文件进行搜寻与替换的功能,也可以对 Zip 文件中的文件做搜寻,支持特殊字符条件表达式搜寻,或是以脚本文件(Script)做搜寻替换工作,也可以以二进制的表示方式做搜寻替换。而搜寻到的文件也可以针对内容、属性、及日期作修改工作,另外还支持文件管理器的右键快捷功能菜单。

2018-12-31

DbVisualizer-8.9.1.rar

DbVisualizer是一个完全基于JDBC的跨平台数据库管理工具,内置SQL语句编辑器(支持语法高亮),凡是具有JDBC数据库接口的数据库都可以管理,已经在Oracle, Sybase, DB2, Informix, MySQL, InstantDB, Cloudcape, HyperSonic ,Mimer SQL上通过测试

2018-12-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除