mysql用mongodb做缓存

12 篇文章 0 订阅

mongodb做缓存


function query($sql, $cache_expire = ''){

	//开启缓存 读取
	if($cache_expire > 0){
		$mongo				= new Mongo();
		$cachedata			= $mongo->pwashop2->cachedata;//集合句柄
		
		$sql_key			= md5($sql);
		$select				= array('sql_key' => $sql_key);//查询条件
		$row				= $cachedata->findOne($select);

		if($row && isset($row['cache_time']) && $row['cache_time'] > time()){//读取缓存,有数据且未过期
			$query			= array('读取缓存!!', $row['query'], date("Y-m-d H:i:s", $row['cache_time']));
			return	$query;			
		}
	}

	
	
	$query			= array(array('username' => 'jwage'), array('password' => date("Y-m-d H:i:s", time())));//数据



	//开启缓存 设置
	if($cache_expire > 0){
		$cachedata->remove($select);//先移除旧数据
		$cache_time		= time() + $cache_expire; //缓存过期时间
		$row			= array(
								'sql_key'		=> md5($sql),
								'query'			=> $query,
								'cache_time'	=> $cache_time);
		$cachedata->insert($row);		
		return	array('设置缓存!!', $query);
	}

	return	array('未开启缓存!!', $query);

}


$sql	= "select 1+1";
$query	=  query($sql, 30);
echo date("Y-m-d H:i:s", time()).'<br>';
print_r($query);
exit;




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQLMongoDB和Redis都是流行的开源数据库软件。 MySQL是一种关系型数据库管理系统(RDBMS),广泛被用于Web应用程序和其他需要可靠数据存储的项目。它使用结构化查询语言(SQL)作为其查询语言,支持大规模数据存储和高效的数据检索。MySQL的优点包括可靠性、灵活性和广泛的社区支持。它可以处理大量的数据,因此适用于大型企业和复杂的数据处理需求。 MongoDB是一种NoSQL数据库,以其灵活性和可扩展性而闻名。它是一个面向文档的数据库,使用类似JSON的文档来存储数据。这个特点使得MongoDB能够轻松地存储和查询复杂的非结构化数据。MongoDB适用于大多数Web应用程序,特别是需要处理大量数据和具有快速读写需求的项目。 Redis是一种高速的内存数据存储系统,用于缓存和数据库应用程序。它被广泛应用于Web应用程序中的高速缓存需求,如页面缓存、会话存储和消息队列。Redis支持多种数据结构,如字符串、列表、集合和有序集合,并提供了丰富的API来处理这些结构。由于Redis将数据存储在内存中,它具有出色的性能和低延迟。 综上所述,MySQLMongoDB和Redis都有各自的优点和适用场景。MySQL适用于需要可靠和结构化数据存储的项目,而MongoDB适合于非结构化和高度可扩展的数据,Redis则适用于高速缓存和内存数据存储需求。根据具体的项目需求和性能要求,选择适合的数据库软件可以提高数据存储和处理的效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值