# memcache缓存 **Repository Path**: siushin/memcache ## Basic Information - **Project Name**: memcache缓存 - **Description**: memcache缓存的安装与使用 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-09-16 - **Last Updated**: 2023-09-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: Memcache ## README - 笔记来源:[近距离探索memcache缓存](https://www.imooc.com/learn/527) - 源码地址: ## 安装memcached服务端 ### Linux安装 ```shell yum install memcached ``` ### Mac安装 ```shell brew install memcached ``` ## memcached命令行 ```shell /usr/bin/memcached -d -l 127.0.0.1 -p 11211 -m 150 -u root ps -ef | grep memcached ``` ## 安装memcached客户端 - 安装pkg-config、libmemcached、zlib依赖以及memcached客户端 ```shell brew install pkg-config brew install libmemecached # 记好安装路径 /opt/homebrew/Cellar/libmemcached/1.0.18_2 brew install zlib # 记好安装路径 /opt/homebrew/Cellar/zlib/1.3 pecl install memcached # 第一、第二项分别填入上诉路径 # 安装成功,得到安装路径,如以下代码: Build process completed successfully Installing '/opt/homebrew/Cellar/php/8.2.10/pecl/20220829/memcached.so' install ok: channel://pecl.php.net/memcached-3.2.0 Extension memcached enabled in php.ini ``` - 打开php.ini,打开memcached扩展 ```ini extension = /opt/homebrew/Cellar/php/8.2.10/pecl/20220829/memcached.so ``` - 重启PHP服务 ```shell brew services restart php php -m |grep memcached ``` ## Mac M2安装报错解决方案 - 如果是``ERROR: failed to mkdir /opt/homebrew/Cellar/php/8.2.10/pecl/20220829`` ,请运行``rm /opt/homebrew/Cellar/php/8.2.10/pecl``,然后重新运行上述命令 ## 测试客户端连接Demo ```php addServer('localhost', 11211); $data = $memcache->get('test_key'); if (!$data) { $data = 'Hello Memcached'; $memcache->set('test_key', $data); } echo $data; // Hello Memcached ``` ## PHP中使用Memcache - 系统类:addServer,addServers,getStats,getVersion - 数据类: add,get,set,delete,flush,replace,increment - 进阶类:setvulti,deleteMulti,getMulti,getResultcode,getResultMessage 详见: ## 使用场景 1. 即时生成缓存 2. 提前生成缓存 3. 永久缓存 ## 注意事项 1. 不要在单机模式中使用Memcached 2. 不要只使用Memcache保存重要数据 3. 定期查看缓存的分布状況和击中情况