Memcache存放SESSION

Memcached

什么是Memcached?

  • 免费并且开源,高性能的分布式内存对象缓存系统,通过减轻数据库负载来加速动态web应用程序的使用。
  • 一种内存中的键值存储,用于从数据库调用、API调用或页面呈现的结果中获得少量任意数据(字符串、对象)
  • PHP 的扩展(服务名)

优点

  • 简单而强大
  • 促进了快速部署,简化了开发
  • 解决大型数据缓存面临的许多问题
  • 它的API适用于大多数流行语言
  • 支持 binary protocol 协议
  • 支持对同一key的多进程的并发处理问题

安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
1. 安装phpize
apt-get install php7.0-dev
2. 安装memcached&依赖
apt-get install memcached
apt-get install libmemcached11 libmemcached-dev libmemcachedutil2
3. 安装memcached拓展
1. apt-cache search -n php7.0 # 查看 php7.-0 的软件包
2. git clone https://github.com/php-memcached-dev/php-memcached.git # 下载 memcached 到本地仓库,并切换到 php7 版本
3. cd php-memcached/ # 进入memcached目录
4. git checkout php7 # 切换分支
5. phpize
6. ./configure --disable-memcached-sasl
7. apt-get install pkg-config (如果第六步有报错执行该步骤在执行第六步,如果没有则直接跳过)
8. make && make install # 编译安装(编译安装完成后会返回 buil completed 提示信息以及你的扩展地址,记住该路径)
9. vi /etc/php/7.0/fpm/conf.d/memcached.ini #把扩展添加进php中
10. extension=/usr/lib/php/20151012/memcached.so #完成第9步之后写入该步骤的内容
11. vi /etc/php/7.0/apache2/php.ini # 把扩展添加进php中
12. extension=/usr/lib/php/20151012/memcached.so #完成第11步之后写入该步骤的内容(写入到差不多866行左右的位置)
13. 重启Apache2
14. 访问phpinfo看是否有memcached拓展

Memcache

什么是Memcache?

  • 免费并且开源,高性能的分布式内存对象缓存系统,通过减轻数据库负载来加速动态web应用程序的使用。
  • 一种内存中的键值存储,用于从数据库调用、API调用或页面呈现的结果中获得少量任意数据(字符串、对象)
  • PHP 的扩展(服务名)

优点

  • 简单而强大
  • 促进了快速部署,简化了开发
  • 解决大型数据缓存面临的许多问题
  • 它的API适用于大多数流行语言
  • 支持对同一key的多进程的并发处理问题

安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1. 安装phpize(如果已经安可直接跳过)
apt-get install php7.0-dev
2. 安装memcache
1. git clone https://github.com/websupport-sk/pecl-memcache memcache # # 下载 memcached 到本地
2. cd memcache # 进入memcache目录
3. phpize
4. whereis php-config # 查找php-config目录
php-config: /usr/bin/php-config /usr/share/man/man1/php-config.1.gz

5. ./configure --enable-memcache --with-php-config=/usr/bin/php-config --with-zlib-dir # 编译
6. make && make install # 编译安装(编译安装完成后会返回 buil completed 提示信息以及你的扩展地址,记住该路径)
7. vi /etc/php/7.0/apache2/php.ini # 把扩展添加进php中
8. extension=/usr/lib/php/20151012/memcached.so #完成第7步之后写入该步骤的内容(写入到差不多866行左右的位置)
9. 重启Apache2
10. 访问phpinfo看是否有memcached拓展

Memcache存放SESSION

  1. 修改php.ini配置文件
1
2
3
1. vi /etc/php/7.0/apache2/php.ini	# 打开php.ini配置文件
2. 找到session.save_handler,并设为 session.save_handler = memcache,把session.save_path前面的分号去掉,并设置为 session.save_path = “tcp://127.0.0.1:11211″
3. 重启服务sudo service apache2 restart
  1. .htaccess
1
2
php_value session.save_handler “memcache”
php_value session.save_path “tcp://127.0.0.1:11211″
  1. 临时生效
1
2
ini_set(“session.save_handler”, “memcache”);
ini_set(“session.save_path”, “tcp://127.0.0.1:11211″);