Memcached set 命令用于将 value(数据值) 存储在指定的 key(键) 中。
如果set的key已经存在,该命令可以更新该key所对应的原来的数据,也就是实现更新的作用。
语法:
set 命令的基本语法格式如下:
set key flags exptime bytes [noreply]
value
参数说明如下:
- key:键值 key-value 结构中的 key,用于查找缓存值。
- flags:可以包括键值对的整型参数,客户机使用它存储关于键值对的额外信息 。
- exptime:在缓存中保存键值对的时间长度(以秒为单位,0 表示永远)
- bytes:在缓存中存储的字节数
- noreply(可选): 该参数告知服务器不需要返回数据
- value:存储的值(始终位于第二行)(可直接理解为key-value结构中的value)
实例
以下实例中我们设置:
- key → runoob
- flag → 0
- exptime → 900 (以秒为单位)
- bytes → 9 (数据存储的字节数)
- value → memcached
set runoob 0 900 9
memcached
STORED
get runoob
VALUE runoob 0 9
memcached
END
输出
如果数据设置成功,则输出:
STORED
输出信息说明:
- STORED:保存成功后输出。
- ERROR:在保存失败后输出。
Memcached get 命令获取存储在 key(键) 中的 value(数据值) ,如果 key 不存在,则返回空。
语法:
get 命令的基本语法格式如下:
get key
多个 key 使用空格隔开,如下:
get key1 key2 key3
参数说明如下:
- key:键值 key-value 结构中的 key,用于查找缓存值。
实例
在以下实例中,我们使用 runoob 作为 key,过期时间设置为 900 秒。
set runoob 0 900 9 memcached STORED get runoob VALUE runoob 0 9 memcached END
备注
1. Memcached报错:CLIENT_ERROR bad data chunk
这是因为存储的字节长度与指定的长度不匹配造成的,
如:
set username 0 0 2
你是打算存储两个字节,但如果你输入不等于2个字节就会报
CLIENT_ERROR bad data chunk
错误,
注意必须是2个,多于或少于2个字节都会报这个错误。
2. 换行不要用小键盘的Enter,会有问题。要用大键盘的Enter键。