Memcached 存储命令学习笔记
1. Memcached 简介
Memcached 是一款开源、高性能、轻量级的分布式内存对象缓存系统,可用于减轻动态web应用程序的数据库负载。
2. Memcached 常用存储命令
2.1 SET 命令
SET 命令用于向缓存中存储数据,语法如下:
Copy Codeset key flags exptime bytes [noreply]\r\n
value\r\n
说明:
- key:表示要存储的数据键名,为字符串类型。
- flags:表示数据的属性信息,为整数类型。
- exptime:表示数据的过期时间,为整数类型,单位为秒。
- bytes:表示要存储的数据长度,为整数类型。
- value:表示要存储的数据内容,为任意数据类型。
- noreply:可选参数,表示是否不需要等待服务器响应,默认为需要。
实例: 存储一个键名为 "username",过期时间为 3600 秒,属性为 1 的字符串 "admin",命令如下:
Copy Codeset username 1 3600 5\r\nadmin\r\n
2.2 ADD 命令
ADD 命令用于向缓存中添加新数据,如果键名已经存在,则会返回 NOT_STORED 错误,语法如下:
Copy Codeadd key flags exptime bytes [noreply]\r\n
value\r\n
说明:
- key:表示要添加的数据键名,为字符串类型。
- flags:表示数据的属性信息,为整数类型。
- exptime:表示数据的过期时间,为整数类型,单位为秒。
- bytes:表示要添加的数据长度,为整数类型。
- value:表示要添加的数据内容,为任意数据类型。
- noreply:可选参数,表示是否不需要等待服务器响应,默认为需要。
实例: 添加一个键名为 "username",过期时间为 3600 秒,属性为 1 的字符串 "admin",如果键名已存在则返回 NOT_STORED 错误,命令如下:
Copy Codeadd username 1 3600 5\r\nadmin\r\n
2.3 REPLACE 命令
REPLACE 命令用于替换已有的数据,如果键名不存在,则会返回 NOT_STORED 错误,语法如下:
Copy Codereplace key flags exptime bytes [noreply]\r\n
value\r\n
说明:
- key:表示要替换的数据键名,为字符串类型。
- flags:表示数据的属性信息,为整数类型。
- exptime:表示数据的过期时间,为整数类型,单位为秒。
- bytes:表示要替换的数据长度,为整数类型。
- value:表示要替换的数据内容,为任意数据类型。
- noreply:可选参数,表示是否不需要等待服务器响应,默认为需要。
实例: 替换一个键名为 "username",过期时间为 3600 秒,属性为 1 的字符串 "admin2",如果键名不存在则返回 NOT_STORED 错误,命令如下:
Copy Codereplace username 1 3600 6\r\nadmin2\r\n
2.4 APPEND 命令
APPEND 命令用于在已有的数据后面追加新的数据,如果键名不存在,则会返回 NOT_STORED 错误,语法如下:
Copy Codeappend key flags exptime bytes [noreply]\r\n
value\r\n
说明:
- key:表示要追加的数据键名,为字符串类型。
- flags:表示数据的属性信息,为整数类型。
- exptime:表示数据的过期时间,为整数类型,单位为秒。
- bytes:表示要追加的数据长度,为整数类型。
- value:表示要追加的数据内容,为任意数据类型。
- noreply:可选参数,表示是否不需要等待服务器响应,默认为需要。
实例: 将一个键名为 "username" 的字符串 "admin" 后面追加一个字符串 "123",如果键名不存在则返回 NOT_STORED 错误,命令如下:
Copy Codeappend username 1 3600 3\r\n123\r\n
2.5 PREPEND 命令
PREPEND 命令用于在已有的数据前面添加新的数据,如果键名不存在,则会返回 NOT_STORED 错误,语法如下:
Copy Codeprepend key flags exptime bytes [noreply]\r\n
value\r\n
说明:
- key:表示要添加的数据键名,为字符串类型。
- flags:表示数据的属性信息,为整数类型。
- exptime:表示数据的过期时间,为整数类型,单位为秒。
- bytes:表示要添加的数据长度,为整数类型。
- value:表示要添加的数据内容,为任意数据类型。
- noreply:可选参数,表示是否不需要等待服务器响应,默认为需要。
实例: 将一个键名为 "username" 的字符串 "admin" 前面添加一个字符串 "123",如果键名不存在则返回 NOT_STORED 错误,命令如下:
Copy Codeprepend username 1 3600 3\r\n123\r\n
3. 总结
以上就是 Memcached 常用的存储命令,包括 SET、ADD、REPLACE、APPEND 和 PREPEND,了解并掌握这些命令对于使用 Memcached 缓存系统具有重要的意义。