一如既往,使用brew直接安装
$brew info memcached
memcached: stable 1.4.24 (bottled)
High performance, distributed memory object caching system
http://memcached.org/
Conflicts with: mysql-cluster
Not installed
From: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/memcached.rb
==> Dependencies
Required: libevent ✔
==> Options
--with-sasl
Enable SASL support -- disables ASCII protocol!
--with-sasl-pwdb
Enable SASL with memcached's own plain text password db support -- disables ASCII protocol! ==> Caveats To have launchd start memcached at login: ln -sfv /usr/local/opt/memcached/*.plist ~/Library/LaunchAgents Then to load memcached now: launchctl load ~/Library/LaunchAgents/homebrew.mxcl.memcached.plist Or, if you don't want/need launchctl, you can just run:
/usr/local/opt/memcached/bin/memcached
$ brew install memcached ==> Downloading https://homebrew.bintray.com/bottles/memcached-1.4.24.mavericks.bottle.tar.gz
######################################################################## 100.0%
==> Pouring memcached-1.4.24.mavericks.bottle.tar.gz ==> Caveats
To have launchd start memcached at login:
ln -sfv /usr/local/opt/memcached/*.plist ~/Library/LaunchAgents
Then to load memcached now:
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.memcached.plist
Or, if you don't want/need launchctl, you can just run: /usr/local/opt/memcached/bin/memcached ==> Summary �� /usr/local/Cellar/memcached/1.4.24: 10 files, 161.1K
使用telnet测试:
输入命令:
memcached -d -p 11211 -u nobody -c 1024 -m 64
直接使用telnet连接到memcached端口,输入命令即可:
$ telnet localhost 11211
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
输入命令
set foo 0 0 3
bar
显示STORED
表示成功。
输入命令
get foo
得到输出:
VALUE foo 0 3
bar
END
使用命令stat可以查看检查memcached状态
stat
得到输出
STAT pid 3407
STAT uptime 111
STAT time 1452261936
STAT version 1.4.24
STAT libevent 2.0.22-stable
STAT pointer_size 64
STAT rusage_user 0.002362
STAT rusage_system 0.003989
STAT curr_connections 10
STAT total_connections 11
STAT connection_structures 11
STAT reserved_fds 20
STAT cmd_get 1
STAT cmd_set 1
STAT cmd_flush 0
STAT cmd_touch 0
STAT get_hits 1
STAT get_misses 0
STAT delete_misses 0
STAT delete_hits 0
STAT incr_misses 0
STAT incr_hits 0
STAT decr_misses 0
STAT decr_hits 0
STAT cas_misses 0
STAT cas_hits 0
STAT cas_badval 0
STAT touch_hits 0
STAT touch_misses 0
STAT auth_cmds 0
STAT auth_errors 0
STAT bytes_read 42
STAT bytes_written 40
STAT limit_maxbytes 67108864
STAT accepting_conns 1
STAT listen_disabled_num 0
STAT threads 4
STAT conn_yields 0
STAT hash_power_level 16
STAT hash_bytes 524288
STAT hash_is_expanding 0
STAT malloc_fails 0
STAT bytes 71
STAT curr_items 1
STAT total_items 1
STAT expired_unfetched 0
STAT evicted_unfetched 0
STAT evictions 0
STAT reclaimed 0
STAT crawler_reclaimed 0
STAT crawler_items_checked 0
STAT lrutail_reflocked 0
END
结束telnet,输入telnet退出命令:quit命令退出。
quit
Connection closed by foreign host.
memcached的简单启动命令
$ memcached -p 11211 -m 64m -d -vv
memcached启动选项如下:
-p 使用的TCP端口,默认为11211 -m 最大内存大小默认为64m -vv 用very verbose模式启动,调试信息和错误输出到控制台 -d 作为daemon在后台启动
查看memcached的详细命令:
$ memcached -h
memcached 1.4.24
-p <num> TCP port number to listen on (default: 11211)
-U <num> UDP port number to listen on (default: 11211, 0 is off)
-s <file> UNIX socket path to listen on (disables network support)
-A enable ascii "shutdown" command
-a <mask> access mask for UNIX socket, in octal (default: 0700)
-l <addr> interface to listen on (default: INADDR_ANY, all addresses)
<addr> may be specified as host:port. If you don't specify
a port number, the value you specified with -p or -U is
used. You may specify multiple addresses separated by comma
or by using -l multiple times
-d run as a daemon
-r maximize core file limit
-u <username> assume identity of <username> (only when run as root)
-m <num> max memory to use for items in megabytes (default: 64 MB)
-M return error on memory exhausted (rather than removing items)
-c <num> max simultaneous connections (default: 1024)
-k lock down all paged memory. Note that there is a
limit on how much memory you may lock. Trying to
allocate more than that would fail, so be sure you
set the limit correctly for the user you started
the daemon with (not for -u <username> user;
under sh this is done with 'ulimit -S -l NUM_KB').
-v verbose (print errors/warnings while in event loop)
-vv very verbose (also print client commands/reponses)
-vvv extremely verbose (also print internal state transitions)
-h print this help and exit
-i print memcached and libevent license
-V print version and exit
-P <file> save PID in <file>, only used with -d option
-f <factor> chunk size growth factor (default: 1.25)
-n <bytes> minimum space allocated for key+value+flags (default: 48)
-L Try to use large memory pages (if available). Increasing
the memory page size could reduce the number of TLB misses
and improve the performance. In order to get large pages
from the OS, memcached will allocate the total item-cache
in one large chunk.
-D <char> Use <char> as the delimiter between key prefixes and IDs.
This is used for per-prefix stats reporting. The default is
":" (colon). If this option is specified, stats collection
is turned on automatically; if not, then it may be turned on
by sending the "stats detail on" command to the server.
-t <num> number of threads to use (default: 4)
-R Maximum number of requests per event, limits the number of
requests process for a given connection to prevent
starvation (default: 20)
-C Disable use of CAS
-b Set the backlog queue limit (default: 1024)
-B Binding protocol - one of ascii, binary, or auto (default)
-I Override the size of each slab page. Adjusts max item size
(default: 1mb, min: 1k, max: 128m)
-F Disable flush_all command
-o Comma separated list of extended or experimental options
- (EXPERIMENTAL) maxconns_fast: immediately close new
connections if over maxconns limit
- hashpower: An integer multiplier for how large the hash
table should be. Can be grown at runtime if not big enough.
Set this based on "STAT hash_power_level" before a
restart.
- tail_repair_time: Time in seconds that indicates how long to wait before
forcefully taking over the LRU tail item whose refcount has leaked.
Disabled by default; dangerous option.
- hash_algorithm: The hash table algorithm
default is jenkins hash. options: jenkins, murmur3
- lru_crawler: Enable LRU Crawler background thread
- lru_crawler_sleep: Microseconds to sleep between items
default is 100.
- lru_crawler_tocrawl: Max items to crawl per slab per run
default is 0 (unlimited)
- lru_maintainer: Enable new LRU system + background thread
- hot_lru_pct: Pct of slab memory to reserve for hot lru.
(requires lru_maintainer)
- warm_lru_pct: Pct of slab memory to reserve for warm lru.
(requires lru_maintainer)
- expirezero_does_not_evict: Items set to not expire, will not evict.
(requires lru_maintainer)