MYSQL会把查询的结果缓存多久

MYSQL会把查询的结果缓存多久,第1张

设置好查询缓存的大小就行了。比如设置个20MB. SET GLOBAL QUERY_CACHE_SIZE=20000000mysql会将查询SQL和结果集存到缓存中,等下次遇到相同的SQL语句时,结果集从缓存中读龋 不设置就不用缓存了

一般有两种访问:方法一:$sql="INSERT

INTO

`test`

(`id`,`content`,`datetime`)values(NULL,'hello',now())"

$query=mysql_query($sql)

//执行sql语句//这种方法,你datetime字段要设计成date类型,now()

是mysql数据库提供的一个获取当前时间函数方法二:$sql="INSERT

INTO

`test`

(`id`,`content`,`datetime`)values(NULL,'hello',".time().")"

$query=mysql_query($sql)

//执行sql语句//这种方法:datetime字段设计成int(10)类型。time()是php提供获取时间戳的函数。推荐使用方法二,因为这种方式,一.排序速度快,二.方便转换时间区。主流的开源程序都有采用这方式。像discuz

phpwind

dedecms等等。大概就是这样的了,详细楼主可以去后盾人自学,看看教学视频

1,redis是一种内存性的数据存储服务,所以它的速度要比mysql快。

2,redis只支持String,hashmap,set,sortedset等基本数据类型,但是不支持联合查询,所以它适合做缓存。

3,有时候缓存的数据量非常大,如果这个时候服务宕机了,且开启了redis的持久化功能,重新启动服务,数据基本上不会丢。

4,redis可以做内存共享,因为它可以被多个不同的客户端连接。

5,做为mysql等数据库的缓存,是把部分热点数据先存储到redis中,或第一次用的时候加载到redis中,下次再用的时候,直接从redis中取。

6,redis中的数据可以设置过期时间expire,如果这个数据在一定时间内没有被延长这个时间,那个一定时间之后这个数据就会从redis清除。

所以,redis只是用来缓存数据库中经常被访问的数据,可以增加访问速度和并发量。而mysql只是提供一种数据备份和数据源的作用。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/6836465.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-29
下一篇2023-03-29

发表评论

登录后才能评论

评论列表(0条)

    保存