Memcached Unix Socket 配置
关键词:
memcached
unix socket
macOS
环境:macOS BigSur 11.2.3
安装
简单粗暴
brew install libevent # 依赖的库
brew install memcached
报错未成功版本(这堆代码可以不看, 反正报错了)
brew install libevent
wget http://www.memcached.org/files/memcached-1.5.22.tar.gz
tar -zxvf memcached-1.5.22.tar.gz
cd memcached-1.5.22
./configure --prefix=/usr/local
make # 就在这一步报错了,4 errors generated, 不知道为撒
配置文件配置(可选)
vim /usr/local/opt/memcached/homebrew.mxcl.memcached.plist
# 这是个xml文件
# 修改启动命令, 看格式自己就能看懂,配置文件的作用就是拼出来启动命令
# 如果要配unix socket, 就在后面加一下 -s 选项,把启动命令补齐
-s /var/run/memcached/memcached.socket
启服务
brew services memcached start
# 或者
memcached -d -p 11211
# memcached -s /var/run/memcached/memcached.sock
# -d: 后台启动
# 其他参数自己配
ps -ef|grep memcached
配置连接
django 端
# 安装
pip install python-memcached==1.59
# settings.py
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION': 'unix:/var/run/memcached/memcached.sock',
}
}
# 调用
from django.core.cache import cache
cache_key = "my_cache_key_1"
cache.set(cache_key, result, None)
cache.get(cache_key)
TCP连接
telnet localhost 11211
telnet 127.0.0.1 11211
Unix Socket 连接
建目录
sudo mkdir /var/run/memcache
改目录权限
sudo chown <username>:<usergroup name> <sock文件目录名称> # 因为这时sock文件还没有被创建,所以只更改文件目录的权限即可
sudo chown gaoguannan:staff /var/run/memcached
启服务
注意:启动前/var/run/memcache目录下不能有东西!否则会提示端口被占用。memcached.sock 文件是memcached服务启动后自动生成的!
# 启动(自定义选项)
memcached -s /var/run/memcache/memcached.sock
# 或者用brew起,这个时候走的就是配置文件里面拼出来的命令
关服务
kill -9 [memcached 进程号]
参考文档
命令总结
https://www.cnblogs.com/mzhaox/p/11143746.html
socket说明
https://blog.csdn.net/m0_47495420/article/details/107054334
mac配置
https://subscription.packtpub.com/book/web_development/9781782163220/1/ch01lvl1sec08/basic-installation-of-memcached-on-mac-simple
https://serverfault.com/questions/433240/how-to-set-up-memcached-to-use-unix-socket/521021
https://www.journaldev.com/1/install-memcached-mac