memcache安装操作(二)

1.memcache安装流程
1.1安装依赖
yum install libevent libevent-devel nc telnet -y
rpm -qa libevent libevent-devel telnet nc
1.2操作流程
rpm -qa libevent libevent-devel nc telnet
rpm -qa memcached
yum install memcached -y
1.3启动memcached
which memcached <=== 查看memcached命令路径
memcached -m 16m -p 11211 -d -u root -c 8192 <==启动第一个memcached实例
如果启动多实例或新开一个实例 只需要新开一个端口
1.4检查启动结果
lsof -i :11211 <====查看启动情况
netstat -lntup | grep 11211
ps -ef | grep memcached | grep -v grep #<===查看memcached进程
1.5 加入开启自启动
echo ‘/usr/bin/memcached -m 16m -p 11211 -d -u root -c 8192’ >> /etc/rc.d/rc.local

2 参数说明:
-m是用多大内存 指定内存
-p端口 用哪个端口提供服务
-d表示允许后台运行
-c表示并发连接数
memcached -h <===查看memcache用到得参数

          具体说明如下:
          -I  <ip_addr>: 指定进程监听的地址
          -d:  以服务模式运行
          -u <username>:以指定的用户身份运行memcached进程
          -m <num>: 用于缓存数据的最大内存空间。单位为MB  默认为64MB
          -c <num>:  最大支持的并发连接数,默认为1024
          -p <num>:  指定监听的TCP端口,默认为11211
          -U  <num>:  指定监听的UDP端口,默认11211,0表示关闭UDP端口
          -t <threads>:用于处理入站请求的最大线程数,仅在memcached编译时开启了支持线程才有效
          -f <num>:设定Slb  Allocator定于预先分配内存空间大小固定的块时使用的增长因子;
          -M:当内存空间不够使用时返回错误信息,而不是按LRU算法利用空间
          -n:  指定最小的slab  chunk大小;单位是字节;
          -S:  启动sasl进行用户认证;
          -s:  如果只在本地通信。可以监听在某个UNIX套接字上
          -r:   设定最大核心文件大小限制
          -P:指定PID文件
          -L:试图使用最多的内存空间
          -C:禁用CAS
  1. memcached启动命令相关参数说明
    进程与连接设置
    -d 以守护进程daemon方式运行服务
    -u 指定运行Memcached的当用户,如果当前用户为root,需要使用此参数指定用户
    -l 指定Memcached进程监听的服务器IP地址,可以不设置此参数
    -p(小写) 指定Memcached服务器监听TCP端口。默认为11211
    -P(大写) 设置保存Memcached的pid文件($$),保存PID到指定文件
    内存相关设置:
    -m 指定Memcached服务可以缓存数据的最大内存,默认为64MB
    -M Memcached服务内存不够时,禁止LRU,如果内存满了会报错
    -n 为key+value+flags分配的最小内存空间,默认48字节
    -f chunksize增长因子,默认1.25
    -L 启用大内存页,可以降低内存浪费,改进性能
    并发连接设置
    -c 最大的并发连接数,默认是1024
    -t 线程数,默认4.由于memcached采用NIO,所以太多线程作用不大
    注意: 重要参数-M -d -p

  2. 向memcached中写入数据
    printf “set key 0 0 5\r\nvalue\r\n”|nc 127.0.0.1 11211
    printf “set ouyang 0 0 6\r\nouyang\r\n”|nc 127.0.0.1 11211
    在这里插入图片描述
    STORED <=== 出现STORED表示成功添加key对于的数据
    set 命令的字节是6 那么后面就要6个字符(字节)。否则插入数据就会不成功

    set key1 0 0 6

  3. memcache和mysql的常见命令对比
    MySQL数据库管理 Memcached管理
    insert语句 set命令
    select语句 get命令
    delete语句 delete语句
    update语句 replace语句

6.memcached相关命令详细说明
command name
set 无论如何都进行写入数据,会覆盖老数据
add 只有对应数据不存在时才添加数据
replace 只有数据存在时进行替换数据
append往后追加: appenddatablock?
prepend往前追加:prependdatablock
cas按版本号更改
key 普通字符串,要求小于250个字符,不包含空格和控制字符 ;
flags 客户端用来标识数据格式的数据,如json,xml,压缩等
exptime 存活时间s 0为永远,小于30天, 606024*30为秒数,大于30天为
unixtime
bytes bytes 字节数,不包含\r\n,根据长度截取存/取得字符串,可以是0,即存空串
datablock 文本行,以\r\n结尾,当然可以包含\r或\n
status STORED/NOT_STORED/EXISTS/NOT_FOUND
ERROR/CLIENT_ERROR/SERVER_ERROR服务端会关闭连接以修复

7.telnet 连接memcache 并操作memcache

在这里插入图片描述
nc连接操作memcache

在这里插入图片描述

在这里插入图片描述
删除后再取值:
在这里插入图片描述

  1. 当启动了多个实例memcached使用killall 或pkill 的方式就会同时都关闭了!此时最好在启动时增加-P参数指定固定的pid文件,这样便于管理不同的实例。
    memcached -m 16m -p 11211 -d -u root -c 8192 -P /var/run/11211.pid
    memcached -m 16m -p 11211 -d -u root -c 8192 -P /var/run/11211.pid
    ps -ef | grep memcache| grep -v grep

    此时,可以通过kill命令关闭memcached
    kill cat /var/run/11211.pid

  2. 监控memcache服务是否正常,模拟用户(web客户端)检测
    使用nc命令加上set/get 来模拟检测,以及监控响应及命中率

10.企业工作场景中如何配置memcached?
在企业实际工作中,一般是开发人员提出需求,说要部署一个memcached数据缓存。运维人员接到了这个不确定的需求,需要深入和开发人员沟通,进而确定内存要指定多大,或者和开发人员商量根据具体业务有多少数据指定内存缓存的大小。还要确定业务的重要性,进而决定是否采取负载均衡,分布式缓存集群等架构,最后确定使用多大的并发连接数等。

11.php中安装memcache通常为:
1.看phpinfo信息
2.下载响应版本php的memcache扩展
3.重启php
4.编写测试memcache测试脚本

<?php $memcache = new Memcache; $memcache->connect('10.0.6.31') or die('Could not connect Mc server'); $memcache->set('key', "ouyang"); $get = $memcache->get('key'); echo $get; ?>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值