云数据库GaussDB队列机制

云数据库GaussDB队列机制

  • 什么是队列?

    队列是一种数据结构,它具有先进先出的特点,是一种应用很广泛的结构。

    队列是一种特殊的 线性表 ,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。

  • 什么是队列元素?

    队列的数据元素又称为队列元素。

    在队列中插入一个队列元素称为入队,从队列中删除一个队列元素称为出队。

    因为队列只允许在一端插入,在另一端删除,所以只有最早进入队列的元素才能最先从队列中删除,故队列又称为先进先出(FIFO—first in first out)线性表。

  • 什么是队列机制?

    在计算机或计算机之间,为了提高计算机或计算机之间的工作效率,我们经常采用队列机制。

    队列机制简单来说是基于队列,利用某种方案来提高工作效率。例如操作系统中作业、进程和线程基于队列机制调度。

  • 云数据库GaussDB主备版_2.x版本——PQflush

    功能描述

    尝试将任何排队的输出数据刷新到服务器。

    原型

    int PQflush(PGconn *conn);

    参数

    表1 PQflush参数

    返回值

    int:如果成功(或者如果发送队列为空),则返回0;如果由于某种原因失败,则返回-1;如果发送队列中的所有数据都发送失败,则返回1。(此情况只有在连接为非阻塞时才能发生),失败原因存到conn->error_message中。

    注意事项

    在非阻塞连接上发送任何命令或数据之后,调用PQflush。如果返回1,则等待套接字变为读或写就绪。如果为写就绪状态,则再次调用PQflush。如果已经读到,调用PQconsumeInput,然后再次调用PQflush。重复,直到PQflush返回0。(必须检查读就绪,并用PQconsumeInput排出输入,因为服务器可以阻止试图向我们发送数据,例如。通知信息,直到我们读完它才会读我们的数据。)一旦PQflush返回0,就等待套接字准备好,然后按照上面描述读取响应。

云数据库GaussDB命令参考

详细的gsql参数请参见表1、表2、表3和表4。

表1 常用参数

表2 输入和输出参数

表3 输出格式参数

表4 连接参数

GaussDB行业动态