文档章节

Redis(redis协议篇)

bitone
 bitone
发布于 2016/03/19 22:51
字数 436
阅读 263
收藏 4

请求格式

统一请求协议格式

*<number of arguments> CR LF

$<number of bytes of argument 1> CR LF

<argument data> CR LF

...

$<number of bytes of argument N> CR LF

<argument data> CR LF

 

例如:

*3\r\n$3\r\nSET\r\n$5\r\nmykey\r\n$7\r\nmyvalue\r\n

 

内联命令请求格式

说明:简单命令其参数用空格分割字符串。非二进制安全

例如:

C: PING

S: +PONG

回复格式

Redis用不同的回复类型回复命令。它可能从服务器发送的第一个字节开始校验回复类型

单行回复(Simple string)

说明:状态回复(或者单行回复)以“+”开始以“\r\n”结尾的单行字符串形式

例如:"+OK\r\n"

错误消息(Errors)

说明:错误回复发送类似于状态回复。唯一的不同是第一个字节用“-”代替“+”

错误回复仅仅在一些意料之外的事情发生时发送,例如:如果你试图执行一个操作来应付错误的数据类型,或者如果命令不存在等等。所以当收到一个错误回复时,客户端将会出现一个异常

整型数字 (Integers)

说明:只是用CRLF结尾字符串来表示整型,用一个字节的作为前缀。例如:0\r\n”,或者“:1000\r\n”是整型回复。

批量回复(Bulk String

说明:批量回复被服务器用于返回一个单二进制安全字符串。

例如:"$6\r\nfoobar\r\n"

 

如果请求的值不存在,批量回复将使用特殊的值-1来作为数据长度

例如:$-1

多个批量回复 (Array)

说明:同统一请求协议格式

 

使用*-1表示null


© 著作权归作者所有

上一篇: Redis(hiredis篇)
下一篇: MySQL程序员篇-C
bitone
粉丝 3
博文 11
码字总数 11963
作品 0
杭州
程序员
私信 提问
golang操作Redis(redigo基础篇)

现在的redis大红大紫,而且很多应用场景都适合使用Reids来做缓存或者直接做存储,典型的如mysql前端缓存、手游里面的排行榜等。那么我们怎样用golang来操作redis呢? 熟悉redis的同学,肯定第...

gotaly
2014/08/21
0
0
PHPer面试指南-PHP 篇

本书的 GitHub 地址:https://github.com/todayqq/PHPerInterviewGuide PHP 篇收集了一些常见的基础、进阶面试题,基础的面试题不再作答。 基础篇 Get 和 POST 的区别 Cookie 和 Session 的区...

angkee
2018/01/24
0
0
SegmentFault 技术周刊 Vol.37 - 分布式缓存利器:Redis

Redis 是由意大利程序员 Salvatore Sanfilippo(昵称:antirez)开发的一款内存高速缓存数据库。Redis 全称为 Remote Dictionary Server(远程数据服务),使用 C 语言编写,是一个 key-valu...

keke
2017/11/16
0
0
Redis入门-架构篇

关系代数的RDB,发展了很多年,很多成熟的产品和技术;K-V的redis,现在到了3.x,支持lua脚本、订阅、集群等;图形的neo4j,还有支持分布式的titan;文档数据库mongodb,换装wt引擎后更强劲;...

柳云龙
2016/10/13
28
0
SSDB 支持 Redis 协议!

终于, SSDB 支持 Redis 协议了! 这表示, 你可以用目前所有成熟的 Redis 客户端来连接 SSDB 服务器, 包括 hiredis, phpredis, redigo 等等. SSDB 支持 Redis 网络协议, 既是一个技术问题, 也有...

ideawu
2014/01/26
1K
7

没有更多内容

加载失败,请刷新页面

加载更多

C 语言 二级指针的使用

#include <stdio.h>#include <stdlib.h>typedef struct node Node;struct node {int data;struct node* next;struct node* prev;};Node head;Node* insert(Node......

小张525
42分钟前
2
0
【大数据技术】——Hadoop(1)

什么是大数据 基本概念 《数据处理》 在互联网技术发展到现今阶段,大量日常、工作等事务产生的数据都已经信息化,人类产生的数据量相比以前有了爆炸式的增长,以前的传统的数据处理技术已经...

须臾之余
56分钟前
7
0
比特币从地址逆向计算私钥

区块链 区块链简介 说到比特币,就不得不提区块链。那什么是区块链呢? 区块链本质是一个数据集,只不过数据的组织采用了比较特殊的方式,就是把数据拆分为一块一块的小数据集。 为什么要进行...

trayvon
今天
1
0
TypeScript……真香

写前端或者用 node 写命令行小工具一直采用的 es6 的语法,对于 TypeScript 则是秉持敬而远之的态度,毕竟团队中多推广一门语言所需要花费的精力都是让人望而却步的。所以对于 JavaScript 的...

郁也风
今天
3
0
shell基本案例

1、自定义rm linux系统的rm命令太危险,一不小心就会删除掉系统文件。 写一个shell脚本来替换系统的rm命令,要求当删除一个文件或者目录时,都要做一个备份,然后再删除。下面分两种情况,做...

寰宇01
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部