Memcached基本使用、内存存储机制、实际应用

Memcache是一种key-value的高速缓存系统。其工作流程如下:先检查客户端的请求数据是否在memcached中,如有,直接把请求数据返回,不再对数据库进行任何操作;如果请求的数据不在memcached中,就去查数据库,把从数据库中获取的数据返回给客户端,同时把数据缓存一份到memcached中(memcached客户端不负责,需要程序明确实现);每次更新数据库的同时更新m...
摘要由CSDN通过智能技术生成

 

 

Memcache是一种key-value的高速缓存系统。

其工作流程如下:先检查客户端的请求数据是否在memcached中,如有,直接把请求数据返回,不再对数据库进行任何操作;如果请求的数据不在memcached中,就去查数据库,把从数据库中获取的数据返回给客户端,同时把数据缓存一份到memcached中(memcached客户端不负责,需要程序明确实现);每次更新数据库的同时更新memcached中的数据,保证一致性;当分配给memcached内存空间用完之后,会使用LRU(Least Recently Used,最近最少使用)策略加上到期失效策略,失效数据首先被替换,然后再替换掉最近未使用的数据。

使用时可以用Telnet进行连接,cmd如果显示telnet无此命令,需要在控制面板中开启,具体请百度。

连接Memcached:

telnet 127.0.0.1 11211//服务ip和端口号

其命令主要分为三类:

存储命令

set

set key flags exptime bytes [noreply]

value

key:键名

flags::可以包括键值对的整形参数,客户机使用他存储关于键值对的额外信息

exptime:缓存中保存键值对的时间(秒,0为永远)(其实这里我有一个疑问,memcache是存储在内存中的,永远代表什么?

因为一旦系统重启,所有内存中的存储的都不存在了,后来查了一些资料,即使是memcache设置为永久,最长保存时间

也是30天)

bytes:缓存中存储的字节数

noreply(:非必需)告知服务器不需要返回数据

value:存储的值(始终位于第二行)

add:

add key flags exptime bytes [noreply]
value

replace:

replace key flags exptime bytes [noreply]
value
append:

append key flags exptime bytes [noreply]
value

prepend:

prepend key flags exptime bytes [noreply]
value

cas

cas key flags exptime bytes unique_cas_token [noreply]
value


unique_cas_token:通过gets命令获取的一个位的64位值

步骤:

要在 Memcached 上使用 CAS 命令,你需要从 Memcached 服务商通过 gets 命令获取令牌(token)。

gets 命令的功能类似于基本的 get

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值