PHP operation Memcache example introduction_PHP tutorial
b/s: web program based on browser and server architecture
c/s: QQ SVN client + server
Simple text line-based protocol:
redis
memcache
Difference:
both store data, memcache saves it directly to the memory, redis saves it to the memory, and saves it to the hard disk after closing. Memcache restarts the computer , shutting down the service will cause data loss
(1) Save it in the memory
(2) Restart the computer, restart the service and all data will disappear
(3) LRU algorithm, based on the recently used variables, will store the data for a long time Delete unused variables
How PHP operates memcache
1. PHP loads the extension php_memcache.dll extension
Serialization
Deserialization
memcache can be saved Data: string, numeric value, array, object
When we get the object saved in memcache, we need to provide the definition of this class, otherwise, it will prompt that we don’t know which class of object it is
memcahe and redis: redis You can also save hash, data structure
2, memcached client operation
C/S connects to the server through the client
Add php_memcache.dll, but we don’t have it Permission to modify php configuration file
But you still want to use memory memcache
You can also use client operation
Through socket technology,
mysql query
Sort the query in English
Chinese --- --sphinx Chinese search engine
Close memcache extension
Use socket technology to complete PHP's CRUD operation on memcache
DLL-encapsulated function class library, through which memory space can be opened and data can be saved
Is it possible? Is the function written by myself the same as the function encapsulated by dll?
The idea is to convert the class library developed in C language in dll into PHP language
A lively Lei Feng in the Internet world shared the PHP class file
If there is a notice level error, modify it php error_reporting + E_ALL+NOTICE
Memcache life cycle:
Restarting memcached and restarting the operating system will cause all data to disappear. In addition, after the content capacity reaches the specified value, unused caches are automatically deleted based on the LRU (Least Recently Used) algorithm.
If expire is set to 0, it means it will never expire until the machine is restarted or the service is restarted
There is no need to blame it if you want to.
Save the session data to memcache
The session data is by default , saved in the file file
, but we can modify the php configuration to save it elsewhere
1, let memcache handle the session
2,
but How to get the session variable, it is no longer the name attribute, but saved through session_id
session_id
When the browser accesses the server, the server assigns the session_id to the browser and then finds the corresponding value through session_id
If sessaion saves objects, the tired information will be lost when obtained
But there are still questions:
What if you don’t have permission to modify the php configuration?
ini_set() can set some php configurations in the php file
Security issue:
Now anyone can access my memcache
Solution:
Firewall

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











AI can help optimize the use of Composer. Specific methods include: 1. Dependency management optimization: AI analyzes dependencies, recommends the best version combination, and reduces conflicts. 2. Automated code generation: AI generates composer.json files that conform to best practices. 3. Improve code quality: AI detects potential problems, provides optimization suggestions, and improves code quality. These methods are implemented through machine learning and natural language processing technologies to help developers improve efficiency and code quality.

session_start()iscrucialinPHPformanagingusersessions.1)Itinitiatesanewsessionifnoneexists,2)resumesanexistingsession,and3)setsasessioncookieforcontinuityacrossrequests,enablingapplicationslikeuserauthenticationandpersonalizedcontent.

MySQL functions can be used for data processing and calculation. 1. Basic usage includes string processing, date calculation and mathematical operations. 2. Advanced usage involves combining multiple functions to implement complex operations. 3. Performance optimization requires avoiding the use of functions in the WHERE clause and using GROUPBY and temporary tables.

Methods for configuring character sets and collations in MySQL include: 1. Setting the character sets and collations at the server level: SETNAMES'utf8'; SETCHARACTERSETutf8; SETCOLLATION_CONNECTION='utf8_general_ci'; 2. Create a database that uses specific character sets and collations: CREATEDATABASEexample_dbCHARACTERSETutf8COLLATEutf8_general_ci; 3. Specify character sets and collations when creating a table: CREATETABLEexample_table(idINT

Building a live chat application in Laravel requires using WebSocket and Pusher. The specific steps include: 1) Configure Pusher information in the .env file; 2) Set the broadcasting driver in the broadcasting.php file to Pusher; 3) Subscribe to the Pusher channel and listen to events using LaravelEcho; 4) Send messages through Pusher API; 5) Implement private channel and user authentication; 6) Perform performance optimization and debugging.

Issues with native select on mobile phones When developing applications on mobile devices, we often encounter scenarios where users need to make choices. Although native sel...

Composer is a dependency management tool for PHP, and manages project dependencies through composer.json file. 1) parse composer.json to obtain dependency information; 2) parse dependencies to form a dependency tree; 3) download and install dependencies from Packagist to the vendor directory; 4) generate composer.lock file to lock the dependency version to ensure team consistency and project maintainability.

Renaming a database in MySQL requires indirect methods. The steps are as follows: 1. Create a new database; 2. Use mysqldump to export the old database; 3. Import the data into the new database; 4. Delete the old database.
