gpt4 book ai didi

php - 缓存index.php页面的搜索引擎有siteController但在yii PHP中没有模型

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

我是 yii 的新手..
要在 index.php 页面中缓存搜索引擎,我添加了

'cache' => array(
'class'=>'system.caching.CFileCache',
),

在我的ma​​in.php页面中。
siteController.php 中,我添加了

if(isset($_POST['location']))                
{
$val = explode(',',$_POST['location']);
//print_r($val);
foreach($val as $val2)
{
$val1 = "INSERT INTO cache_search(property_id,property_name,keyword) SELECT a.id,a.title,$val from property AS a
WHERE a.description like '%'.$val.'%' OR a.city like '%'.$val.'%' OR a.address like '%'.$val.'%' OR a.zip like '%'.$val.'%' OR a.country like '%'.$val.'%' OR";
$value = "SELECT * FROM cache_search where keyword like '%'.$val.'%'";
$command = YII::app()->db->createCommand($value);
$command2 = YII::app()->db->createCommand($val1);
if($cache = Yii::app()->cache !== null)
{
$key = md5(rand(10,10000));
$result = $command->queryAll();
Yii::app()->cache->set($key,$result,0);
}
else{

$key = md5(rand(10,10000));
$result = $command2->queryAll();
Yii::app()->cache->get($key);
}}}

其中'location'index.php搜索引擎名称,即< em>查看页面。

类似这样的:-

<div class="search-line">

<form action="<?php echo Yii::app()->createUrl('/map'); ?>" method="post">
<div class="form-group locality">
<i class="fo">&#xe801;</i>
<input name="location" class="form-control locality-txt" type="text" placeholder="Search by Locality, City, Project or Developer"/>
</div>
<div class="form-group type-sel">
<div class="sel-holder">

<?php echo CHtml::dropDownList('type', '', $categoriesList,
[
'empty'=>'Any Property Type',
'class'=>'type-sel',
]); ?>

</div>
</div>
<?php echo CHtml::hiddenField('mode', 'index'); ?>
<input class="btn" type="submit" value="Search" id='prop_search'/>
</form>

</div>

我没有任何索引页模型。我希望应用程序在搜索引擎中首次搜索新关键字时访问数据库,并将其与 description 中的匹配键一起存储在 cache_search 表中。 >属性表。并将搜索到的关键字存储在缓存中,每个关键字都有唯一的键,以及标题列中的属性名称标题列中的属性ID property 表中的 id 列。
就像Google搜索引擎一样,在下拉列表中提供缓存中每个下一个搜索关键字的结果

基本上我想使用CFileCacheCMemCache,但如果有任何好的缓存选项/代码请与我分享。

任何帮助将不胜感激..

最佳答案

  1. 您有随机缓存 key 有何用途?
  2. Yii 缓存对长键使用 md5 函数。

你的代码应该是这样的:

cacheKey = genCacheKeyByPostData()
data = getFromCacheByKey (cacheKey)
if empty data then
data = getFromDbOSomethingElse
saveDataToCache (key, data, expireTime)
end

use data

关于php - 缓存index.php页面的搜索引擎有siteController但在yii PHP中没有模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31581193/

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