php中的FileCache vs Session

时间:2013-05-25 19:18:41

标签: php session caching

会话还是FileCache?哪一个更好用?

例如,当用户登录时,我想保存一些数据,如用户名,密码,ID,详细信息等,只要他没有注销。

我可以将这些数据保存在某个文件中。我也可以把它保存在会议中。

我该怎么办?

3 个答案:

答案 0 :(得分:2)

将其保存在会话中。它存储在内存中,比文件更快,通常更安全。 通常,您不会在会话中存储密码,因为一旦用户离开网站,密码就会被删除。密码通常存储在数据库中,有时存储在文件中,但密码应始终加密。使用md5($ password。$ email)或类似的东西。 json数据格式使这很简单。

$user['temp_password'] = md5($user['password'].$user['email']);
$user['id'] = 45;
file_put_contents('user_settings.json',json_encode($user));

答案 1 :(得分:1)

表现最佳的解决方案是使用会话,将会话save_handler设置为memcached。

首先,安装memcached

apt-get install memcached
apt-get install php5-memcache

然后,编辑你的php.ini以写入memcached而不是文件

session.save_handler = memcache
session.save_path    = "tcp://localhost:11211"

最后

sudo /etc/init.d/apache restart

然后,当您对$_SESSION进行读写操作时,它将使用Memcached

答案 2 :(得分:1)

文件或会话缓存是如此相似,因为会话也写在文件中,但实际上会话更实用,更容易使用,我更喜欢内存缓存,像Mysql内存引擎或APCU。只试一次。