[MacOS-Memcached]安装
查看memcached信息
$ brew info memcached memcached: stable 1.5.22 (bottled), HEAD High performance, distributed memory object caching system https://memcached.org/ Not installed From: https://mirrors.ustc.edu.cn/homebrew-core.git/Formula/memcached.rb ==> Dependencies Required: libevent ✘ ==> Options --HEAD Install HEAD version ==> Caveats To have launchd start memcached now and restart at login: brew services start memcached Or, if you don't want/need a background service you can just run: /usr/local/opt/memcached/bin/memcached ==> Analytics install: 11,122 (30 days), 28,921 (90 days), 109,541 (365 days) install-on-request: 7,810 (30 days), 20,432 (90 days), 75,410 (365 days) build-error: 0 (30 days)
安装
$ brew install memcached ==> Installing dependencies for memcached: libevent ==> Installing memcached dependency: libevent ==> Downloading https://homebrew.bintray.com/bottles/libevent-2.1.11_1.mojave.bottle.tar.gz ==> Downloading from https://akamai.bintray.com/1e/1e14fc34baae0b65cac6d7c75bc5ed0ccb1f6bbaa30c8f0f8477ab8ba85fb3c5?__gda__=exp=1581824521~hmac=c40c55060d3e3351dbd85f10ae63522ade1c8 ######################################################################## 100.0% ==> Pouring libevent-2.1.11_1.mojave.bottle.tar.gz 🍺 /usr/local/Cellar/libevent/2.1.11_1: 1,063 files, 5MB ==> Installing memcached ==> Downloading https://homebrew.bintray.com/bottles/memcached-1.5.22.mojave.bottle.tar.gz ######################################################################## 100.0% ==> Pouring memcached-1.5.22.mojave.bottle.tar.gz ==> Caveats To have launchd start memcached now and restart at login: brew services start memcached Or, if you don't want/need a background service you can just run: /usr/local/opt/memcached/bin/memcached ==> Summary 🍺 /usr/local/Cellar/memcached/1.5.22: 11 files, 232.5KB ==> Caveats ==> memcached To have launchd start memcached now and restart at login: brew services start memcached Or, if you don't want/need a background service you can just run: /usr/local/opt/memcached/bin/memcached
启动服务
$ brew services start memcached ==> Tapping homebrew/services Cloning into '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-services'... remote: Enumerating objects: 27, done. remote: Counting objects: 100% (27/27), done. remote: Compressing objects: 100% (19/19), done. remote: Total 27 (delta 0), reused 17 (delta 0), pack-reused 0 Unpacking objects: 100% (27/27), done. Tapped (65 files, 69.6KB). ==> Successfully started `memcached` (label: homebrew.mxcl.memcached)
停止服务
$ brew services stop memcached Stopping `memcached`... (might take a while) ==> Successfully stopped `memcached` (label: homebrew.mxcl.memcached)
自定义启动
程序看你的安装路径安装信息最后一行
-p: 端口号默认11211 TCP port to listen on (default: 11211)
-m: 内存限制默认64m item memory in megabytes (default: 64)
-d: 后台启动 run as a daemon
-vv: 调试信息和错误信息输出到控制台 very verbose (also print client commands/responses)
-l: 监听地址
-u: 是运行Memcache的用户
/usr/local/opt/memcached/bin/memcached -p 11211 -m 64m -d -vv
/usr/local/opt/memcached/bin/memcached -p 11211 -m 64m -d -vv slab class 1: chunk size 96 perslab 10922 slab class 2: chunk size 120 perslab 8738 slab class 3: chunk size 152 perslab 6898 slab class 4: chunk size 192 perslab 5461 slab class 5: chunk size 240 perslab 4369 slab class 6: chunk size 304 perslab 3449 slab class 7: chunk size 384 perslab 2730 slab class 8: chunk size 480 perslab 2184 slab class 9: chunk size 600 perslab 1747 slab class 10: chunk size 752 perslab 1394 slab class 11: chunk size 944 perslab 1110 slab class 12: chunk size 1184 perslab 885 slab class 13: chunk size 1480 perslab 708 slab class 14: chunk size 1856 perslab 564 slab class 15: chunk size 2320 perslab 451 slab class 16: chunk size 2904 perslab 361 slab class 17: chunk size 3632 perslab 288 slab class 18: chunk size 4544 perslab 230 slab class 19: chunk size 5680 perslab 184 slab class 20: chunk size 7104 perslab 147 slab class 21: chunk size 8880 perslab 118 slab class 22: chunk size 11104 perslab 94 slab class 23: chunk size 13880 perslab 75 slab class 24: chunk size 17352 perslab 60 slab class 25: chunk size 21696 perslab 48 slab class 26: chunk size 27120 perslab 38 slab class 27: chunk size 33904 perslab 30 slab class 28: chunk size 42384 perslab 24 slab class 29: chunk size 52984 perslab 19 slab class 30: chunk size 66232 perslab 15 slab class 31: chunk size 82792 perslab 12 slab class 32: chunk size 103496 perslab 10 slab class 33: chunk size 129376 perslab 8 slab class 34: chunk size 161720 perslab 6 slab class 35: chunk size 202152 perslab 5 slab class 36: chunk size 252696 perslab 4 slab class 37: chunk size 315872 perslab 3 slab class 38: chunk size 394840 perslab 2 slab class 39: chunk size 524288 perslab 2 <17 server listening (auto-negotiate) <18 server listening (auto-negotiate)
查看服务是否启动
$ lsof -i:11211 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME memcached 37102 shilei 17u IPv6 0x3990a14cab2f51d7 0t0 TCP *:11211 (LISTEN) memcached 37102 shilei 18u IPv4 0x3990a14c8573d057 0t0 TCP *:11211 (LISTEN)
查看帮助
/usr/local/opt/memcached/bin/memcached --help
memcached 1.5.22 -p, --port=<num> TCP port to listen on (default: 11211) -U, --udp-port=<num> UDP port to listen on (default: 0, off) -s, --unix-socket=<file> UNIX socket to listen on (disables network support) -A, --enable-shutdown enable ascii "shutdown" command -a, --unix-mask=<mask> access mask for UNIX socket, in octal (default: 700) -l, --listen=<addr> interface to listen on (default: INADDR_ANY) if TLS/SSL is enabled, 'notls' prefix can be used to disable for specific listeners (-l notls:<ip>:<port>) -d, --daemon run as a daemon -r, --enable-coredumps maximize core file limit -u, --user=<user> assume identity of <username> (only when run as root) -m, --memory-limit=<num> item memory in megabytes (default: 64) -M, --disable-evictions return error on memory exhausted instead of evicting -c, --conn-limit=<num> max simultaneous connections (default: 1024) -k, --lock-memory lock down all paged memory -v, --verbose verbose (print errors/warnings while in event loop) -vv very verbose (also print client commands/responses) -vvv extremely verbose (internal state transitions) -h, --help print this help and exit -i, --license print memcached and libevent license -V, --version print version and exit -P, --pidfile=<file> save PID in <file>, only used with -d option -f, --slab-growth-factor=<num> chunk size growth factor (default: 1.25) -n, --slab-min-size=<bytes> min space used for key+value+flags (default: 48) -L, --enable-largepages try to use large memory pages (if available) -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, --threads=<num> number of threads to use (default: 4) -R, --max-reqs-per-event maximum number of requests per event, limits the requests processed per connection to prevent starvation (default: 20) -C, --disable-cas disable use of CAS -b, --listen-backlog=<num> set the backlog queue limit (default: 1024) -B, --protocol=<name> protocol - one of ascii, binary, or auto (default: auto-negotiate) -I, --max-item-size=<num> adjusts max item size (default: 1m, min: 1k, max: 1024m) -F, --disable-flush-all disable flush_all command -X, --disable-dumping disable stats cachedump and lru_crawler metadump -W --disable-watch disable watch commands (live logging) -Y, --auth-file=<file> (EXPERIMENTAL) enable ASCII protocol authentication. format: user:pass\nuser2:pass2\n -e, --memory-file=<file> (EXPERIMENTAL) mmap a file for item memory. use only in ram disks or persistent memory mounts! enables restartable cache (stop with SIGUSR1) -Z, --enable-ssl enable TLS/SSL -o, --extended comma separated list of extended options most options have a 'no_' prefix to disable - maxconns_fast: immediately close new connections after limit (default: enabled) - hashpower: an integer multiplier for how large the hash table should be. normally grows at runtime. (default starts at: 0) set based on "STAT hash_power_level" - tail_repair_time: time in seconds for how long to wait before forcefully killing LRU tail item. disabled by default; very dangerous option. - hash_algorithm: the hash table algorithm default is murmur3 hash. options: jenkins, murmur3 - no_lru_crawler: disable 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) - no_lru_maintainer: disable new LRU system + background thread. - hot_lru_pct: pct of slab memory to reserve for hot lru. (requires lru_maintainer, default pct: 20) - warm_lru_pct: pct of slab memory to reserve for warm lru. (requires lru_maintainer, default pct: 40) - hot_max_factor: items idle > cold lru age * drop from hot lru. (default: 0.20) - warm_max_factor: items idle > cold lru age * this drop from warm. (default: 2.00) - temporary_ttl: TTL's below get separate LRU, can't be evicted. (requires lru_maintainer, default: 61) - idle_timeout: timeout for idle connections. (default: 0, no timeout) - slab_chunk_max: (EXPERIMENTAL) maximum slab size in kilobytes. use extreme care. (default: 512) - watcher_logbuf_size: size in kilobytes of per-watcher write buffer. (default: 256) - worker_logbuf_size: size in kilobytes of per-worker-thread buffer read by background thread, then written to watchers. (default: 64) - track_sizes: enable dynamic reports for 'stats sizes' command. - no_hashexpand: disables hash table expansion (dangerous) - modern: enables options which will be default in future. currently: nothing - no_modern: uses defaults of previous major version (1.4.x) - ssl_chain_cert: certificate chain file in PEM format - ssl_key: private key, if not part of the -ssl_chain_cert - ssl_keyformat: private key format (PEM, DER or ENGINE) (default: PEM) - ssl_verify_mode: peer certificate verification mode, default is 0(None). valid values are 0(None), 1(Request), 2(Require) or 3(Once) - ssl_ciphers: specify cipher list to be used - ssl_ca_cert: PEM format file of acceptable client CA's - ssl_wbuf_size: size in kilobytes of per-connection SSL output buffer (default: 16)