0%

1 从逻辑角度划分类

索引本质上是表字段的有序子集,其每个记录项指向相应的表记录。MySQL共有4类索引:

Read more »

1 简介

EXPLAIN命令是查看查询优化器如何决定执行查询的主要方法。虽然这个功能有一些局限性,但是它的输出是可以获取的最好信息。在使用EXPLAIN时,MySQL会在查询上设置一个标记,当执行查询时,这个标记会使其返回关于执行计划中每一步的信息,而不是执行它。它会返回一行或多行信息,显示出执行计划中的每一部分和执行次序。

Read more »

Redis是内存数据库,它将自己的数据库状态储存在内存里面,若不将其保存到磁盘上,一旦服务器进程退出,服务器中的数据库状态也会消失不见。因此Redis提供了RDB持久化功能,将Redis内存中的数据库状态保存到磁盘里面,避免数据意外丢失。

Read more »

1 设置键的生存时间或过期时间

通过以下命令,客户端可以以秒或者毫秒精度为数据库中的某个键设置生存时间(Time To Live,TTL),在经过指定的秒数或者毫秒数之后,服务器就会自动删除生存时间为0的键。

Read more »

1 服务器中的数据库

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

Read more »

Redis基于其数据结构(例如,SDS、双端链表、字典、压缩列表、整数集合等)创建了一个对象系统,该系统包含字符串对象列表对象哈希对象集合对象有序集合对象这五种对象,每种对象都用到了至少一种数据结构。

Read more »

1 简单动态字符串(SDS)

Redis中有两种字符串表示:

  • ①、C字符串:C字符串只会作为字符串字面量(string literal),用在一些无须对字符串值进行修改的地方,如打印日志。

  • ②、简单动态字符串:简单动态字符串(simple dynamic string, SDS)是redis构建一种字符串的抽象类型,是redis的默认字符串表示。如字符串键值对、缓冲区等都有SDS实现。

Read more »