<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Memcached on My Blog</title><link>/tags/memcached/</link><description>Recent content in Memcached on My Blog</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sat, 12 Dec 2015 00:00:00 +0000</lastBuildDate><atom:link href="/tags/memcached/index.xml" rel="self" type="application/rss+xml"/><item><title>初识memcached</title><link>/2015/12/12/%E5%88%9D%E8%AF%86memcached/</link><pubDate>Sat, 12 Dec 2015 00:00:00 +0000</pubDate><guid>/2015/12/12/%E5%88%9D%E8%AF%86memcached/</guid><description>&lt;!-- toc --&gt;
&lt;p&gt;[TOC]&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;memcached：
memcached is a high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load.
缓存服务器：
缓存：cache，无持久存储功能；
bypass缓存
k/v cache，仅支持存储流式化数据；
LiveJournal旗下的Danga Interactive研发，
特性：
k/v cache：仅可序列化数据；存储项：k/v；
智能性一半依赖于客户端（调用memcached的API开发程序），一半依赖于服务端；
分布式缓存：互不通信的分布式集群；
分布式系统请求路由方法：取模法，一致性哈希算法；
算法复杂度：O(1)
清理过期缓存项：
缓存耗尽：LRU
缓存项过期：惰性清理机制
安装配置：
由CentOS 7 base仓库直接提供：
监听的端口：
11211/tcp, 11211/udp
主程序：/usr/bin/memcached
配置文件：/etc/sysconfig/memcached
Unit File：memcached.service
协议格式：memcached协议
文本格式
二进制格式
命令：
统计类：stats, stats items, stats slabs, stats sizes
存储类：set, add, replace, append, prepend
命令格式：&amp;lt;command name&amp;gt; &amp;lt;key&amp;gt; &amp;lt;flags&amp;gt; &amp;lt;exptime&amp;gt; &amp;lt;bytes&amp;gt;
&amp;lt;cas unique&amp;gt;
检索类：get, delete, incr/decr
清空：flush_all
示例：
telnet&amp;gt; add KEY &amp;lt;flags&amp;gt; &amp;lt;expiretime&amp;gt; &amp;lt;bytes&amp;gt; \r
telnet&amp;gt; VALUE
memcached程序的常用选项：
-m &amp;lt;num&amp;gt;：Use &amp;lt;num&amp;gt; MB memory max to use for object storage; the default is 64 megabytes.
-c &amp;lt;num&amp;gt;：Use &amp;lt;num&amp;gt; max simultaneous connections; the default is 1024.
-u &amp;lt;username&amp;gt;：以指定的用户身份来运行进程；
-l &amp;lt;ip_addr&amp;gt;：监听的IP地址，默认为本机所有地址；
-l &amp;lt;ip_addr&amp;gt;：监听的IP地址，默认为本机所有地址；
-p &amp;lt;num&amp;gt;：监听的TCP端口， the default is port 11211.
-U &amp;lt;num&amp;gt;：Listen on UDP port &amp;lt;num&amp;gt;, the default is port 11211, 0 is off.
-M：内存耗尽时，不执行LRU清理缓存，而是拒绝存入新的缓存项，直到有多余的空间可用时为止；
-f &amp;lt;factor&amp;gt;：增长因子；默认是1.25；
-t &amp;lt;threads&amp;gt;：启动的用于响应用户请求的线程数；
memcached默认没有认证机制，可借用于SASL进行认证；
SASL：Simple Authentication Secure Layer
API:
php-pecl-memcache
php-pecl-memcached
python-memcached
libmemcached
libmemcached-devel
命令行工具：
memcached-tool SERVER:PORT COMMAND
&lt;/code&gt;&lt;/pre&gt;</description></item></channel></rss>