Linux 下搭建 Memcached 集中式缓存系统
文章
林里克斯
Memcached
是一个内存中键值存储,用于存储来自数据库调用,API调用或页面呈现结果的任意小数据块(字符串,对象)。
实验平台:CentOS 7.6.1810
Memcached Version:1.6.8
一、安装
1.官网
http://memcached.org/
yum
安装
$ yum -y install memcached
启动 memcached
$ systemctl start memcached
$ ps -ef | grep memcached
memcach+ 7100 1 0 05:23 ? 00:00:00 /usr/bin/memcached -u memcached -p 11211 -m 64 -c 1024
root 7107 7016 0 05:23 pts/0 00:00:00 grep --color=auto memcached
$ netstat -tlnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:11211 0.0.0.0:* LISTEN 7100/memcached
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 6740/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 6840/master
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 6750/zabbix_agentd
tcp6 0 0 :::11211 :::* LISTEN 7100/memcached
tcp6 0 0 :::22 :::* LISTEN 6740/sshd
tcp6 0 0 ::1:25 :::* LISTEN 6840/master
tcp6 0 0 :::10050 :::* LISTEN 6750/zabbix_agentd
#默认监听 11211
- 源码安装
memcached
依赖 libevent
$ rpm -qa | grep libevent
安装 libevent
$ yum -y install libevent-devel
$ rpm -qa | grep libevent
libevent-2.0.21-4.el7.x86_64
libevent-devel-2.0.21-4.el7.x86_64
或使用编译安装 libevent
$ wget https://github.com/libevent/libevent/releases/download/release-2.1.11-stable/libevent-2.1.11-stable.tar.gz
$ tar xf libevent-2.1.11-stable.tar.gz
$ cd libevent-2.1.11-stable
$ ./configure --prefix=/data/libevent
$ make && make install
在官网下载 memcached
编译包
$ wget https://memcached.org/files/memcached-1.6.8.tar.gz
编译安装
$ ./configure --prefix=/data/memcached
#yum 安装的 libevent 可以直接编译不需指定
$ make && make install
$ ./configure --prefix=/data/memcached --with-libevent=/data/libevent
#编译安装的 libevent 需指定路径
$ make && make install
如果没有安装 libevent
会有以下依赖报错
If it's already installed, specify its path using --with-libevent=/dir/
启动
$ /data/memcached/bin/memcached -vv
slab class 1: chunk size 96 perslab 10922
slab class 2: chunk size 120 perslab 8738
···
···
···
slab class 39: chunk size 524288 perslab 2
# -vv 显示详细信息
安装完成
二、命令详解
$ /data/memcached/bin/memcached -h
memcached 1.6.8
-p, --port=<num> #指定 TCP 监听端口。默认使用 11211
-U, --udp-port=<num> #指定 UDP 监听端口,默认关闭 (default: 0, off)
-s, --unix-socket=<file> #要监听的 UNIX socket 路径(禁用网络支持)
-a, --unix-mask=<mask> #UNIX socket的访问掩码(access mask),八进制表示,默认是0700. (mask)
-A, --enable-shutdown #启用 shutdown 命令
-l, --listen=<addr> #指定监听 IP,可以指定多个
-d, --daemon #后台运行
-r, --enable-coredumps #文件数量的最大值 (rlimit)
-u, --user=<user> #指定用户运行,只有在 root 用户的才需要 (only when run as root)
-m, --memory-limit=<num> #分配给多大内存,默认 64Mb
-M, --disable-evictions #内存耗尽时返回错误,而不是通过 LRU 淘汰内容
-c, --conn-limit=<num> #最大并发连接数,默认 1024
-k, --lock-memory #锁定所有页内存;允许被锁定的内存是有限制的,超过限制可能会失败
-v, --verbose #显示启动信息(错误和警告信息)
-vv #显示详细信息并打印客服端命令
-vvv #显示超详细信息及内部状态转换
-h, --help #打印 help 信息
-i, --license #打印 memcached 和 libevent 许可证
-V, --version #打印版本信息
-P, --pidfile=<file> #指定 pid 存放路径,尽在后台 -d 运行是需要
-f, --slab-growth-factor=<num> #chunk的增幅因子,默认是1.25,不同的slab class,slab page大小相同,但是chunk大小不等,chunk的大小根据这个增幅因子增长;(factor)
-n, --slab-min-size=<bytes> #为key+value+flags分配的最小内存,单位bytes,默认是48;chunk数据结构本身要占据48字节,所以实际大小是n+48;
-L, --enable-largepages #一次申请大的内存页(如果可以);增大内存页的大小,可以提高性能
-D <char> #指定key前缀与ID的分隔符,用于stats信息显示,默认是冒号:,如果使用了该参数,则stats收集自动启用了,否则,需要发送命令“stats detail on”命令来启动stats的收集
-t, --threads=<num> #使用多少个线程,默认是4
-R, --max-reqs-per-event # 每一个事件(event)的最大请求数,限制最大请求数可以防止线程饥饿,默认是20
-C, --disable-cas #不使用 CAS
-b, --listen-backlog=<num> #设置 backlog 队列限制,默认1024
-B, --protocol=<name> #指定绑定协议,ascii,binary或者auto,其中auto是默认值
-I, --max-item-size=<num> #设置 slab page 的大小,即设置可以保存的 item 的最大值,默认 1MB,最小是 1K,最大值 128M
-F, --disable-flush-all #禁止 flush_all 命令
-X, --disable-dumping #禁止统计 cachedump 和 lru_crawler metadump
-W --disable-watch #禁用 watch 命令(实时日志记录)
-Y, --auth-file=<file> (EXPERIMENTAL) 启用 ASCII 协议身份验证. format: user:pass\nuser2:pass2\n
常用命令:
$ /data/memcached/bin/memcached -d
#后台启动
$ /data/memcached/bin/memcached -d -m 64M -u memcached -l 0.0.0.0 -p 11211 -c 256 -P /tmp/memcached.pid
Over ~
版权协议须知!
本篇文章来源于 Uambiguous ,如本文章侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
1189 0 2020-11-01
博主卡片
运维时间
搭建这个平台,只为分享及记载自己所遇之事和难题。
现在时间 2024-12-28
今日天气
站点统计
- 文章总数:241篇
- 分类总数:29个
- 评论总数:12条
- 本站总访问量 353167 次
@xiaozi 最后的分享的镜像下载地址打不开 服务器没有开机吗?
@yuanyuan 为什么我的4b安装centos7.9 插上tf卡 显示不兼...
@Wong arrhenius 牛比
@MakerFace 厉害了!
@TongSir 老哥 更新下我的友链链接 https://blog.ton...