环境: centos7.6, mongodb-server v2.6.12 安装 memcached
yum install memcached启动 memcached
systemctl start memcached检查已经启动 memcached
yum install -y libmemcached memstat --servers="127.0.0.1:11211"python 使用 memcache
pip install python-memcached import memcache mc = memcache.Client(['127.0.0.1:11211'],debug=False) mc.set("foo","bar") mc.get("foo") 设置账号、密码 sasl修改 memcache 配置文件 /etc/sysconfig/memcached, 在 OPTIONS 变量中添加 -S 参数,添加 -vv 参数有助于调试, -U 0 禁用 udp 侦听
[root@ansible002 ~]# cat /etc/sysconfig/memcached PORT="11211" USER="memcached" MAXCONN="1024" CACHESIZE="64" OPTIONS="-l 127.0.0.1 -U 0 -S -vv"重启 memcached
systemctl restart memcached检查
[root@ansible002 ~]# memstat --servers="127.0.0.1" [root@ansible002 ~]# echo $? 1下载软件 cyrus-sasl-devel cyrus-sasl-plain,允许我们创建和验证我们的用户
yum install cyrus-sasl-devel cyrus-sasl-plain指定日志级别,设置 mech_list 为 plain,告诉 memcached 它应该使用自己的密码文件并验证明文密码,指定用户数据库文件
[root@ansible002 ~]# mkdir -p /etc/sasl2/ [root@ansible002 ~]# cat /etc/sasl2/memcached.conf mech_list: plain log_level: 5 sasldb_path: /etc/sasl2/memcached-sasldb2使用用户凭据创建 sasl 数据库。-c 选项在我们的数据库中创建一个新的条目。我们这里使用用户名 kolla
[root@ansible002 ~]# saslpasswd2 -a memcached -c -f /etc/sasl2/memcached-sasldb2 kolla Password: Again (for verification):授予 memcached 用户 sasl 数据库所有权
[root@ansible002 ~]# chown memcached:memcached /etc/sasl2/memcached-sasldb2重启 memcached
[root@ansible002 ~]# systemctl restart memcached检查,我们上面设置 kolla 用户密码为 321321
[root@ansible002 ~]# memstat --servers="127.0.0.1" --username=kolla --password=321321 Server: 127.0.0.1 (11211) pid: 1905345 uptime: 40 time: 1602138612 version: 1.5.6 ... 允许远程访问 memcache修改 /etc/sysconfig/memcached 中 OPTIONS 127.0.0.1 为服务器 ip
[root@ansible002 ~]# cat /etc/sysconfig/memcached PORT="11211" USER="memcached" MAXCONN="1024" CACHESIZE="64" OPTIONS="-l 192.168.1.107 -U 0 -S -vv"重启服务 memcached
[root@ansible002 ~]# systemctl restart memcached防火墙开放端口,略
在 k8s01 上使用 python python-binary-memcached 验证
[root@k8s01 ~]# pip install python-binary-memcached [root@k8s01 ~]# python Python 2.7.5 (default, Jun 20 2019, 20:27:34) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import bmemcached >>> client = bmemcached.Client(('192.168.1.107:11211',),'kolla','321321') >>> client.set("foo","boor") True >>> client.get("foo") 'boor'参考文章:
https://cloud.tencent.com/developer/article/1162013
https://www.cnpython.com/pypi/python-binary-memcached
