如何使用命令行刷新Memcached服务器的内容
时间:2020-01-09 10:42:15 来源:igfitidea点击:
问题:
我已经在Linux下安装了memcached服务器,但它仍显示旧数据。
如何在Linux或者类似Unix的系统上刷新Memcached实例/服务器的内容?
答:
您可以使用flush_all命令使所有现有的缓存项无效。
该命令不会暂停服务器,因为它会立即返回。
它根本不会释放或者刷新内存,只会导致所有项目过期。
您可以使用以下任何一种方法发送" flush_all"命令:
- ``nc`命令nc(也称为netcat)实用程序几乎用于所有涉及TCP或者UDP的情况。
- ``telnet`命令telnet命令用于使用TELNET协议与另一个主机进行通信。
netcat(nc)命令示例以刷新Memcached服务器的内容
nc(netcat)命令是一个简单的unix实用程序,可使用TCP或者UDP协议跨网络连接读取和写入数据。
它可以简单地连接到memcached实例并使所有现有缓存无效:
echo 'flush_all' | nc localhost 11211
在某些系统上,它可能称为netcat,因此请尝试以下操作以删除在Linux上运行的内存缓存服务器的所有数据:
echo 'flush_all' | netcat localhost 11211
试试nc:
nc 192.168.1.10 11211
其中:
- 192.168.1.10-memcached服务器实例
- 本地主机-memcached服务器实例
- 11211-内存缓存服务器端口。
您可以在~/.bashrc文件中创建bash shell别名,如下所示:
## bash shortcut ## alias flush_mem_cache_server="echo 'flush_all' | netcat 127.0.0.1 11211"
并按如下所示使用它:
$ flush_mem_cache_server
Telnet命令示例以刷新Memcached服务器的内容
执行以下命令:
telnet your-memcached-server-ip PORT
在此示例中,连接到192.168.1.10 11211并发出如下的flush_all命令:
$ telnet 192.168.1.10 11211
输出示例:
Trying 192.168.1.10... Connected to cache01.theitroad.com. Escape character is '^]'. flush_all OK quit Connection to cache01.theitroad.com closed by foreign host.
(
使用telnet命令使使用flush_all命令的所有现有缓存项无效)
仅使用bash刷新Memcached中的所有内容
语法为:
echo flush_all > /dev/tcp/127.0.0.1/11211