Home > Article > Backend Development > Session temporary files and cache instructions in php
1. Session temporary files
In the server, if all user sessions are saved in the temporary directory, the security and safety of the server will be reduced. Efficiency, opening a site stored on the server will be very slow. On Windows, PHP's default session server files are stored in C:\WINDOWS\Temp. If concurrent access is large or too many sessions are created, there will be a large number of session files similar to sess_xxxxxx in the directory. The number of files in the same directory Too much will cause performance degradation and may lead to attacks that ultimately result in file system errors. For this situation, PHP itself provides a better solution. In php, using the function session_save_path() can solve this problem.
Using the PHP function session_save_path() to store session temporary files can alleviate the problem of reduced server efficiency and slow site opening caused by the storage of temporary files. The example code is as follows:
<?php $path = './tmp/'; //设置 session 存储路径 session_save_path($path); session_start(); $_SESSION['username'] = true; ?>
Note : The session_save_path() function should be called before the session_start() function.
2. Session caching
session caching is to temporarily store the content in the web page under the Temporary Internet Files folder of the client, and can Set cache time. When you browse a web page for the first time, part of the content of the page is temporarily stored in the client's temporary folder within a specified period of time. In this way, the next time you visit this page, you can directly read the content in the cache, thereby improving Website browsing efficiency.
The role of Session cache
(1) Reduce the frequency of database access. Applications can read persistent objects from the cache significantly faster than retrieving data from the database.
(2) When there is a cyclic relationship between persistent objects in the cache, Session will ensure that there will be no infinite loop of accessing the object graph, and no JVM stack overflow caused by the infinite loop.
(3) Ensure that the relevant records in the database are synchronized with the records in the cache. When the Session clears the cache, it will automatically perform a dirty data check (dirty-check). If it is found that the object in the Session cache is inconsistent with the corresponding record in the database, the database will be updated according to the latest object attributes.
session caching uses the session_cache_limiter() function, whose syntax is as follows:
session_cache_limiter(cache_limiter)
The parameter cache_limiter is public or private. At the same time, session caching does not mean caching on the server side but on the client side. The
cache time setting is not displayed on the server. The session_cache_expire() function is used, and its syntax format is as follows:
session_cache_expire(new_cache_expire);
The parameter cache_expire is the session cache time, in minutes.
Note: These two session cache functions must be called before the session_start() function, otherwise an error will occur.
The following is an example of the session caching page process. The implemented code is as follows:
<?php session_cache_limiter('private'); $cache_limit = session_cache_limiter(); //开启客户端缓存 session_cache_expire(30); $cache_expire = session_cache_expire(); //设定客户端缓存时间 session_start(); ?>
The above is the detailed content of Session temporary files and cache instructions in php. For more information, please follow other related articles on the PHP Chinese website!