memcache服务用的是阿里云的OSC。
memcache之前都是好好的,现在遇到了不同key对应相同值的问题。
key设定是根据用户id来的,值也是用户id。
<code>$define('USERID',$userId); $this->test(USERID); //设置缓存内容。 function test($userId) { $this->set('user_id_'.$userId,$userId);//设置键名和值 }</code>
在阿里云查看信息,发现user_id_1和user_id_2对应的值都是2。
确定值是被覆盖了。
初步怀疑是opcache的问题。想了解下opcache缓存什么内容,是否会缓存define()定义的常量?
如果不是opcache的问题,欢迎指出问题所在。谢谢。着急。
回复内容:
memcache服务用的是阿里云的OSC。
memcache之前都是好好的,现在遇到了不同key对应相同值的问题。
key设定是根据用户id来的,值也是用户id。
<code>$define('USERID',$userId); $this->test(USERID); //设置缓存内容。 function test($userId) { $this->set('user_id_'.$userId,$userId);//设置键名和值 }</code>
在阿里云查看信息,发现user_id_1和user_id_2对应的值都是2。
确定值是被覆盖了。
初步怀疑是opcache的问题。想了解下opcache缓存什么内容,是否会缓存define()定义的常量?
如果不是opcache的问题,欢迎指出问题所在。谢谢。着急。
执行过程
input(PHP代码)-》词法分析-》语法分析-》opcode-》Zend engine-》output
在网上找了一张图,比较形象一点
关于opcache
opcache通过将PHP脚本预编译的字节码存储到共享内存中来提升PHP的性能,对于相同的PHP文件,第一次运行时可以缓存其opcode码,下次再执行这个页面时,直接会去找到缓存下的opcode码,省了中间的过程,所以起到了提高性能的作用
主要区别
1、虽然他们都放在内存中,但是opcache是mmap, 而memcache使用的是纯内存
2、opcache用作opcode cache, memcache是用作content cache
所以不会是opcache的问题,应该是你使用memcache的时候代码有误
BTW,如果是高并发的话,你可以试一试cas机制
我们写的PHP代码经过解释器解析后生成opcode,然后交给Zend Engine执行.
opcache在内存缓存页面生成的opcode,省去了每次的重复解析,从而提升PHP服务性能.
opcache理论上不会影响PHP代码逻辑,也就是不会缓存你定义的常量USERID.
但要注意,比如cache.php里保存了一个数组,只要cache.php被访问过,就会被opcache缓存,在缓存没有过期前,对cache.php的任何修改都不会生效.
你可以自己测试下,开启opcache,输入不一样,输出的USERID也是不一样的.
<code>info.php?id=1024 info.php?id=2048 <?php define('USERID',$_GET['id']); echo USERID;</code></code>
可以把opcache缓存的东西当成是java编译之后的.class字节码文件,所以如果要更新程序的话就重新"编译"一下php

PHP is widely used in e-commerce, content management systems and API development. 1) E-commerce: used for shopping cart function and payment processing. 2) Content management system: used for dynamic content generation and user management. 3) API development: used for RESTful API development and API security. Through performance optimization and best practices, the efficiency and maintainability of PHP applications are improved.

PHP makes it easy to create interactive web content. 1) Dynamically generate content by embedding HTML and display it in real time based on user input or database data. 2) Process form submission and generate dynamic output to ensure that htmlspecialchars is used to prevent XSS. 3) Use MySQL to create a user registration system, and use password_hash and preprocessing statements to enhance security. Mastering these techniques will improve the efficiency of web development.

PHP and Python each have their own advantages, and choose according to project requirements. 1.PHP is suitable for web development, especially for rapid development and maintenance of websites. 2. Python is suitable for data science, machine learning and artificial intelligence, with concise syntax and suitable for beginners.

PHP is still dynamic and still occupies an important position in the field of modern programming. 1) PHP's simplicity and powerful community support make it widely used in web development; 2) Its flexibility and stability make it outstanding in handling web forms, database operations and file processing; 3) PHP is constantly evolving and optimizing, suitable for beginners and experienced developers.

PHP remains important in modern web development, especially in content management and e-commerce platforms. 1) PHP has a rich ecosystem and strong framework support, such as Laravel and Symfony. 2) Performance optimization can be achieved through OPcache and Nginx. 3) PHP8.0 introduces JIT compiler to improve performance. 4) Cloud-native applications are deployed through Docker and Kubernetes to improve flexibility and scalability.

PHP is suitable for web development, especially in rapid development and processing dynamic content, but is not good at data science and enterprise-level applications. Compared with Python, PHP has more advantages in web development, but is not as good as Python in the field of data science; compared with Java, PHP performs worse in enterprise-level applications, but is more flexible in web development; compared with JavaScript, PHP is more concise in back-end development, but is not as good as JavaScript in front-end development.

PHP and Python each have their own advantages and are suitable for different scenarios. 1.PHP is suitable for web development and provides built-in web servers and rich function libraries. 2. Python is suitable for data science and machine learning, with concise syntax and a powerful standard library. When choosing, it should be decided based on project requirements.

PHP is a scripting language widely used on the server side, especially suitable for web development. 1.PHP can embed HTML, process HTTP requests and responses, and supports a variety of databases. 2.PHP is used to generate dynamic web content, process form data, access databases, etc., with strong community support and open source resources. 3. PHP is an interpreted language, and the execution process includes lexical analysis, grammatical analysis, compilation and execution. 4.PHP can be combined with MySQL for advanced applications such as user registration systems. 5. When debugging PHP, you can use functions such as error_reporting() and var_dump(). 6. Optimize PHP code to use caching mechanisms, optimize database queries and use built-in functions. 7


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

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

Atom editor mac version download
The most popular open source editor

SublimeText3 Linux new version
SublimeText3 Linux latest version

DVWA
Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),