gpt4 book ai didi

PHP 在关联数组中使用长文本有一些影响吗?

转载 作者:行者123 更新时间:2023-11-29 01:34:18 24 4
gpt4 key购买 nike

我在 PHP 中做一个数据库类,我想在关联数组中缓存查询结果,我的想法是使用 sql 语句作为缓存数组的索引,这可能是个好主意?还是应该使用 sql 中的 md5?

class DB{
const HOST = 'localhost'; //Your Database Host!
const USER = 'user'; //Your Database Username!
const PASSWORD = 'pass'; //Your Database Password!
const DATABASE = 'database'; //Your Database Name!

private static $Instance;
private static $cache = array();

private function __construct(){
self::$Instance = mysql_connect(self::HOST, self::USER, self::PASSWORD) or die("Could not connect to database server<br/><b>Error:</b>".mysql_error());
mysql_select_db(self::DATABASE) or die("Could not connect to database<br/><b>Error:</b>".mysql_error());
return self::$Instance;
}

public static function DB(){
if(!isset(self::$Instance)){
$c = __CLASS__;
new $c();
}
return self::$Instance;
}

public static function QueryUnique($query){
$query = "$query LIMIT 1";
//$h = md5($query);
$h = $query;
if(isset(self::$cache[$h]))return self::$cache[$h];

$result = mysql_query($query, self::DB());
self::$cache[$h] = mysql_fetch_array($result);
return self::$cache[$h];
}

美好的一天

最佳答案

在您深入实现之前,您应该了解 mysql does its own query caching与您的实现相比,它具有几个主要优势:

  • 缓存在所有 PHP 请求之间共享。
  • 当表数据发生变化时,缓存的结果会自动清理。
  • 缓存被限制在一定的内存大小(很少使用的查询将从缓存中删除)

关于PHP 在关联数组中使用长文本有一些影响吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1326064/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com