Home  >  Article  >  Backend Development  >  php Redis storage session

php Redis storage session

巴扎黑
巴扎黑Original
2016-11-10 09:37:131116browse

Redis is a high-performance key-value database. The emergence of redis can play a very good supplementary role to relational databases in some situations. On the other hand, many people choose redis for session storage. It compensates for the speed and efficiency of file storage to achieve a higher availability.

Modify the settings of php.ini

session.save_handler = redis

session.save_path = "tcp://127.0.0.1:6379"

Restart php-fpm after modification, phpinfo() can view the session Stored in redis.

If you don’t want to modify php.ini, you can add in the code:

ini_set("session.save_handler","redis");

ini_set("session.save_path","tcp://127.0.0.1:6379 ");

If redis.conf sets a connection password (requirepass), the save_path of the session needs to be modified to the value of: tcp://127.0.0.1:6379?auth=requirepass.
If you choose redis database, session.save_path = "tcp://xx.xx.xx.xx:6789?database=11", etc.

View the value of redis storage session:

session_start();

$_SESSION['sessionid']='www.webyang.net';

$redis =new redis();

$redis->connect('127.0.0.1',6379);

//redis uses PHPREDIS_SESSION: add session_id as key, and store it in the form of string

echo $redis->get('PHPREDIS_SESSION:' .session_id());//Output www.webyang.net

?>

I saw on the Internet that some people questioned the problem of concurrency consistency when redis stores session values ​​(file storage sessions are handled by file locks), this is There is no research.


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn