+
 新版
2014-10-16 13:55
如果使用分布式缓存,那么在取数据库表里面前50条数据的时候,是全部取出还是只取出key,然后再继续去缓存里面取,如果缓存没有再去数据库里面取?
2014-10-16 11:00

引用来自“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是存到内存。理论上会快?
除了会更快以外,还有就是在 php 的集群环境里面,避免使用默认的 files 存储,session 无法共享的问题,使用 memecached 可以在多台物理服务器之间共享 session
2014-10-16 10:12
@ckGG PHP默认使用文件系统(默认是/tmp/sess_PHPSESSID )保存用户的会话信息,用memcached/redis替代文件系统作为session.save_handler,多台PHP应用服务器就可以实现通过网络访问会话服务器(可以多台),扩展PHP的会话处理能力.
2014-10-16 10:07

引用来自“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 应用方向是什么?就是说为什么要这么做?
默认的session是文件,写到硬盘上。改为memcached是存到内存。理论上会快?
2014-10-16 09:55

引用来自“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 即可看到指定会话里的会话内容(变量).
存储session 应用方向是什么?就是说为什么要这么做?
2014-10-16 07:56
板凳
2014-10-16 07:53
沙发
回复 @
{{emojiItem.symbol}}
返回顶部
顶部