Memcached使用笔记

时间:2023-03-08 21:14:02

1.linux启动memcached命令

进入到memcached安装目录,可以用whereis memcached查看,默认安装在/usr/bin/目录下

输入以下命令,下面两行任选一行就可以了

memcached -d -u nobody
memcached -d -m -u root -p -c

-d选项启动一个守护进程

-m选项是分配给memcached使用的内在数量,单位是MB,这里给的是256

-u 是运行memcached的用户,第一个是nobody,第二个是root(网上的建议是不要用root启动,具体查看root与nobody的区别)

-p 是设置memcached的监听商品,默认是11211,这里设的是1624

-c 是最大运行的并发连接数,默认是1024

2.停止memcached

kill - pid  (-9表示强制杀死,pid 为进程的进程标识符)
3.获取运行状态:
echo stats | nc localhost 11211(可以查看出pid) 或使用ps -ef|grep memcached 
4.清除memcached
flush_all
5.连接memcached
telnet ip地址 端口号
6.安装memcached(centos)
yum install memcached
7.增删改查add, set, replace
add: 如果key存在,不能再存进去
set: 如果key存在,覆盖。如果key不存在,增加一个
replace: 如果key不存在,会出错
8.安全性问题
在linux中,可以设置防火墙,指定的ip可以访问某个端口,这样memcached就不能被其他ip访问,配置脚本如下
#写规则到iptables文件
vi /etc/sysconfig/iptables
iptables -A INPUT -p tcp -s 127.0.0.1 --dport -j ACCEPT
iptables -A INPUT -p udp -s 127.0.0.1 --dport 11211 -j ACCEPT
#上面两句好像对我不机子没用,照样可以访问,所以直接把11211这个端口drop了,不知有没有影响
iptables -A INPUT -p tcp --dport 11211 -j DROP
#重启iptables
service iptables restart
#查看iptables
cat /etc/sysconfig/iptables
#限制某个IP可以访问
-A INPUT -s 165.232.121.17 -j ACCEPT
-A INPUT -j DROP

上面脚本指定11211这个端口只可以被本地(127.0.0.1)访问