内存缓存 Memcached 1.4.21 发布。2014-10-13 上一个版本是2014-05-12的1.4.20 此版本做了makefile文件清理以及修正了可能导致崩溃OOM的错误。
下载:http://www.memcached.org/files/memcached-1.4.21.tar.gz
更多内容请看发行说明。
memcached是一套分布式的快取系统,当初是Danga Interactive为了LiveJournal所发展的,但目前被许多软件(如MediaWiki)所使用。这是一套开放源代码软件,以BSD license授权释出。
memcached缺乏认证以及安全管制,这代表应该将memcached服务器放置在防火墙后。
memcached的API使用三十二位元的循环冗余校验(CRC-32)计算键值后,将资料分散在不同的机器上。当表格满了以后,接下来新增的资 料会以LRU机制替换掉。由于memcached通常只是当作快取系统使用,所以使用memcached的应用程式在写回较慢的系统时(像是后端的数据 库)需要额外的程式码更新memcached内的资料。
memcached具有多种语言的客户端开发包,包括:Perl/PHP/JAVA/C/Python/Ruby/C#/MySQL/
引用来自“eechen”的评论
PECL扩展memcache和redis都提供了session处理器,用于存储PHP会话内容.Ubuntu可以这样安装:
sudo apt-get install memcached redis-server
sudo apt-get install php5-memcache php5-redis
配置php.ini,加入:
extension=memcache.so
extension=redis.so
再把
session.save_handler = files
session.save_path = "/tmp"
改为(如果是memcache):
session.save_handler = memcache
session.save_path = "tcp://127.0.0.1:11211"
改为(如果是redis):
session.save_handler = redis
session.save_path = "tcp://127.0.0.1:6379"
session.save_path中多台memcache/redis服务器可以用逗号隔开.
session.save_path里的URL还可以可以包含一些参数,比如memcache的persistent,weight,timeout,retry_interval.
连接memcached,输入quit退出:
telnet 127.0.0.1 11211
get PHPSESSID 可以看到该会话ID里的会话内容.
PHPSESSID作为key,会话数组$_SESSION作为value.
在 redis-cli 执行 get PHPSESSID 即可看到指定会话里的会话内容(变量).
引用来自“ckGG”的评论
存储session 应用方向是什么?就是说为什么要这么做?引用来自“M3-无效字符”的评论
默认的session是文件,写到硬盘上。改为memcached是存到内存。理论上会快?引用来自“eechen”的评论
PECL扩展memcache和redis都提供了session处理器,用于存储PHP会话内容.Ubuntu可以这样安装:
sudo apt-get install memcached redis-server
sudo apt-get install php5-memcache php5-redis
配置php.ini,加入:
extension=memcache.so
extension=redis.so
再把
session.save_handler = files
session.save_path = "/tmp"
改为(如果是memcache):
session.save_handler = memcache
session.save_path = "tcp://127.0.0.1:11211"
改为(如果是redis):
session.save_handler = redis
session.save_path = "tcp://127.0.0.1:6379"
session.save_path中多台memcache/redis服务器可以用逗号隔开.
session.save_path里的URL还可以可以包含一些参数,比如memcache的persistent,weight,timeout,retry_interval.
连接memcached,输入quit退出:
telnet 127.0.0.1 11211
get PHPSESSID 可以看到该会话ID里的会话内容.
PHPSESSID作为key,会话数组$_SESSION作为value.
在 redis-cli 执行 get PHPSESSID 即可看到指定会话里的会话内容(变量).
引用来自“ckGG”的评论
存储session 应用方向是什么?就是说为什么要这么做?引用来自“eechen”的评论
PECL扩展memcache和redis都提供了session处理器,用于存储PHP会话内容.Ubuntu可以这样安装:
sudo apt-get install memcached redis-server
sudo apt-get install php5-memcache php5-redis
配置php.ini,加入:
extension=memcache.so
extension=redis.so
再把
session.save_handler = files
session.save_path = "/tmp"
改为(如果是memcache):
session.save_handler = memcache
session.save_path = "tcp://127.0.0.1:11211"
改为(如果是redis):
session.save_handler = redis
session.save_path = "tcp://127.0.0.1:6379"
session.save_path中多台memcache/redis服务器可以用逗号隔开.
session.save_path里的URL还可以可以包含一些参数,比如memcache的persistent,weight,timeout,retry_interval.
连接memcached,输入quit退出:
telnet 127.0.0.1 11211
get PHPSESSID 可以看到该会话ID里的会话内容.
PHPSESSID作为key,会话数组$_SESSION作为value.
在 redis-cli 执行 get PHPSESSID 即可看到指定会话里的会话内容(变量).