px普贤教程PuXian
普贤教程 › 包参考

memcached 包

Memcached 文本协议构造/解析

项值
包名memcached
版本0.2.0
可用版本0.1.0 / 0.2.0
入口memcached.px
分类网络与协议
文件数 / 行数1 / 162

安装与引入

bash
pxpkg init          # 首次
pxpkg add memcached@0.2.0
pxpkg install
px
import memcached
所属分类教程:网络与协议

公开接口

函数参数
mc_byte_lenvalue
mc_build_setkey, value, flags, exptime
mc_build_set_byteskey, data, flags, exptime
mc_build_getkey
mc_build_get_multikeys
mc_build_deletekey
mc_build_incrementkey, value
mc_build_decrementkey, value
mc_build_flush
mc_build_stats
mc_parse_responsetext
mc_parse_fulltext
mc_extract_valueresponse_text
mc_value_bytesresponse_text
其余 2 个 def(内部与辅助,可直接调用但不属稳定接口)
函数参数
_mc_find_crlfb, from_pos
_mc_line_atb, pos

包内说明(源码头注释)

text
============================================================
普贤生态库:registry/memcached — Memcached 文本协议构造/解析
------------------------------------------------------------
纯函数库,双模式一致。

实现要点:
- 声明长度一律用 bytes_len(bytes(value))(真字节数);另加 mc_build_set_bytes()
直接吃 bytes,二进制值也安全。
- mc_extract_value() / mc_parse_full() 按 VALUE 行声明的 length 精确切片,不再按行猜。
- 新增 mc_value_bytes() 返回 bytes(二进制值不经 UTF-8 转换)。

函数:
mc_build_set(key, value, flags, exptime)        → string(值按 UTF-8 计字节)
mc_build_set_bytes(key, data, flags, exptime)   → string(二进制安全)
mc_build_get / mc_build_get_multi / mc_build_delete
mc_build_increment / mc_build_decrement / mc_build_flush / mc_build_stats
mc_byte_len(value)                              → int(真字节数)
mc_parse_response(text)                         → [{type, ...}](结构概览)
mc_parse_full(text)                             → {status, values}(含值载荷)
mc_extract_value(text)                          → string(首个值)
mc_value_bytes(text)                            → bytes(首个值,二进制安全)
============================================================