memcached实战系列(三)memcached命令使用
来源:互联网 发布:mac卸载软件残留 编辑:程序博客网 时间:2024/05/17 12:25
memcached命令的使用,在这里我们最好了解一下命令的含义,对命令有一个大致的了解,在了解的基础上进行使用。这里的命名是常用的crud命令的演示。
1.1.1. memcached命令的格式
标准协议:Memcached所有的标准协议包含在对item执行命令过程中,一个item包含两行:
第一行:Key Flags ExpirationTime Bytes
Key:Key 用于查找缓存值
Flags:一个32位的标志值,客户机使用它存储关于键值对的额外信息(譬如用户规定1 json 2 xml )用户自己的业务标记使用场景 比如 我可以设置为1缓存的是网页的热点2缓存的是app的热点。
Expiration time:在缓存中保存键值对的时长(以秒为单位,0表示永远)(服务器挂了数据没了 最多30天时间因为memcached没有提供持久化的功能)
Bytes:在缓存中存储的字节数(与存储的值不对应CLIENT_ERROR bad data chunk)存储的字节数一定要与实际存储值得字节数对应,否则无法存入报错CLIENT_ERROR bad data chunk
比如存入值3字节则值bytes为3值例如ksf
第二行:Value:存储的值(始终位于第二行)
noreply:可以在命令的第一行后面加入noreply,以避免在处理交互命令的时候,等待服
务端的返回
向Memcached写入值
命令有:set、add、replace、append、prepend、cas
首先进入我们的命令行
cd /usr/shareniu/memcached/bin./memcached -d -m 10 -u root -l 0.0.0.0 -p 18887-c 256 -P /tmp/memcached.pid
如下图所示:
1.1.2. memcached命令set
set:用于向缓存添加新的键值对,如果键已经存在,则之前的值将被替换(update)
演示:
set user 0 60 3ksf
1.1.3. memcached命令add
add:仅当缓存中不存在键时,add命令才会向缓存中添加一个键值对,如果缓存中已经存在键,则之前的值将仍然保持,服务器响应NOT_STORED(说白了就是存在不执行命令不存在添加)
演示:
add user 0 0 3ksf
1.1.4. memcached命令replace
replace:仅当键已经存在时,replace命令才会替换缓存中的键。如果缓存中不存在键,
服务器响应NOT_STORED
演示:
replace user 0 0 3ksf
1.1.5. memcached命令append
append:是在现有缓存数据后面新增数据。如果key不存在,服务器响应NOT_STORED
演示:
append user 0 0 3ksf
1.1.6. memcached命令prepend
prepend:是在现有缓存数据前面新增数据。如果key不存在,服务器响应NOT_STORED
演示:
prepend user 0 0 3niu
1.1.7. memcached命令cas
cas(Check And Set ):检查和更新,只有从你读取数据后,别人没有更新这
个数据,才能够正确保存。就是版本控制,通常和gets配合使用必须等于当前的版本才能更新小于大于都不行.原子性操作
演示:
gets u1
查询结果
VALUE u1 0 3 4
cas user 0 0 2 10(版本号)
aa
获取数据的命令有:get 、gets
delete user
get用来获取数据,gets获取的是数据+版本号
1.1.8. memcached命令delete
删除数据的命令:delete
演示:
1.1.9. memcached命令 incr/decr
incr/decr命令:如果缓存数据中存储的是数字形式的字符串,则可以使用
incr/decr 对数据进行递增和递减操作,操作后的值不会为负数
演示:
incr user 10(ok)incr user -10(CLIENT_ERROR invalid numeric delta argument)decr user 10(为0后不在减少)decr user -10(CLIENT_ERROR invalid numeric delta argument)
- memcached实战系列(三)memcached命令使用
- memcached实战系列(四)memcached stats命令 memcached优化
- memcached实战系列(一)memcached安装
- Memcached命令使用
- Memcached命令使用
- Memcached--基本使用命令
- Memcached学习(三)Memcached使用总结
- memcached实战系列(二)memcached参数以及启动
- memcached实战系列(六)理解Memcached的数据存储方式
- Memcached 实战
- Memcached(三)Memcached客户端
- Memcached(二)Memcached命令
- memcached命令
- Memcached命令
- memcached 命令
- memcached命令
- memcached 命令
- memcached命令
- 详细介绍VO和PO的区别
- leetcode 146. LRU Cache
- 对于大学4年的反思(续),记我的ThoughtWorks面试
- 题目1089:数字反转
- 中断与轮询
- memcached实战系列(三)memcached命令使用
- JavaScript 模块(1):初学者指南
- 说说JavaScript那些事
- CSS实现垂直居中的常用方法
- 一个jQuery事件绑定的问题
- https://linux.cn/article-4790-1.html
- nyoj 289 苹果【裸0-1背包】
- 解决 Git 冲突的 14 个建议和工具
- C#图片上一张下一张