1.安装memcached
Memcached是通过在内存里维护一个统一的巨大的hash表,memcached能存储各种各样的数据,包括图像、视频(但是极不推荐来保存二进制文件)、文件、以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。
参考我写的关于docker创建memecached容器
windows下ThinkPHP3.2.3使用memcache缓存
2.创建memcached镜像
docker run -di --name=“memcached” -m 256m -p 11211:11211 memcached:[tag]
-d是启动一个守护进程;
-m是分配给Memcache使用的内存数量,单位是MB;
-u是运行Memcache的用户;
-l是监听的服务器IP地址,可以有多个地址;
-p是设置Memcache监听的端口,,最好是1024以上的端口;
-c是最大运行的并发连接数,默认是1024;
3.测试并进入docker容器
测试是否启动成功
netstat -luntp|grep 11211或者docker ps
安装telnet
yum install -y telnet 或 sudo apt-get install telnet
通过telnet方式连接memcached
telnet 127.0.0.1 11211 或者使用 telnet ubuntu_ip docker_memcached_port
设置值,age是key,0是标志位,900是生命周期,8代表所占字节数,回车之后的10是value
set age 0 900 8
10
获取值
get age
退出
exit
quit
4.telnet操作memcached:
1.添加数据
- set语法:
set key flas(是否压缩,默认为0,不压缩) timeout value_length
value
示例:
set username 0 60 7
zhiliao
- add语法:
add key flas(0) timeout value_length
value
示例:
add username 0 60 7
xiaotuo
set和add的区别:add是只负责添加数据,不会去修改数据。如果添加的数据的key已经存在了,则添加失败,如果添加的key不存在,则添加成功。而set不同,如果memcached中不存在相同的key,则进行添加,如果存在,则替换。
2.获取数据:get key_name
3.删除数据:delete key_name
4.删除memcached所有数据:flush_all
5. memcached安全性
memcached的操作不需要任何用户名和密码,只需要知道memcached服务器的ip地址和端口号即可。因此memcached使用的时候尤其要注意他的安全性。这里提供两种安全的解决方案。分别来进行讲解:
1.使用-l参数设置为只有本地可以连接:这种方式,就只能通过本机才能连接,别的机器都不能访问,可以达到最好的安全性。
2.使用防火墙,关闭11211端口,外面也不能访问