自定义使用S缓存方法

<?php
$info=S("name","lizhaoyao");
$name=S("name");
var_dump($name);
function S($key,$value=‘‘,$cache_time=86400)
{
    $md=md5($key);//按照md45散列形式进行加密命名
    $dir="./Cache/";//定义缓存存放路径文件夹
    if (!is_dir($dir))
    {
        mkdir($dir,‘0777‘);//首先检测文件夹是否存在
    }
    $file_name=$dir.$md;
    if(empty($value))
    {
        //要取值出来
        if(file_exists($file_name))
        {
            $cont=file_get_contents($file_name);
            return unserialize($cont);
        }else
		{
            echo "";
        }
    }else
    {
        //如果赋值为空 则将该缓存删除
        if($value===null)
        {
           return unlink($file_name);
        }
        //要存进去
        $data[‘value‘]=$value;
        $data[‘deadline‘]=time()+$cache_time;
        return file_put_contents($file_name,serialize($data));
    }
}
?>

  使用这样的代码能自定义一个S方法进行缓存的读取和使用

时间: 2024-10-11 06:55:05

自定义使用S缓存方法的相关文章

Spring AOP+自定义注解实现缓存

Spring AOP配置: <aop:config> <aop:aspect ref="cacheAdvice"> <aop:pointcut id="cachePointcut" expression="execution(* cn.vobile.service..*.*(..)) and @annotation(cacheable)"/> <aop:around method="cacheD

Android自定义View的实现方法,带你一步步深入了解View(四)

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/17357967 不 知不觉中,带你一步步深入了解View系列的文章已经写到第四篇了,回顾一下,我们一共学习了LayoutInflater的原理分析.视图的绘制流程. 视图的状态及重绘等知识,算是把View中很多重要的知识点都涉及到了.如果你还没有看过我前面的几篇文章,建议先去阅读一下,多了解一些原理方面的东 西. 之前我有承诺过,会在View这个话题上多写几篇博客,讲一讲View的

Android之十一Toast 自定义Toast的实现方法,及其说明

Android Toast 自定义Toast的实现方法,及其说明 Android Toast用于在手机屏幕上向用户显示一条信息,一段时间后信息会自动消失.信息可以是简单的文本,也可以是复杂的图片及其他内容(显示一个view).  1.简单用法 Toast.makeText(midlet.getApplicationContext(), "用户名不能为空", Toast.LENGTH_LONG).show(); 2.自定义显示位置效果 代码 toast = Toast.makeText(

一种简单的php使用redis做缓存方法

这里介绍的缓存方法比较简单,下面是大概思路: 例子:一个列表缓存例子,由于列表数据实时性要求不高,可以缓存1分钟. 大概思路:根据请求的url来判断:1.请求的url hash 后在redis中有记录,则直接返回redis中的数据.2.请求的url hash 后在redis中无记录,则查询数据库(mysql),保存到redis中,并返回.url格式: 模块,控制器,操作(action),page redis缓存的数据格式:分为两种:一种是html标签,也就是框架渲染完成的html页面.另一种是j

全面剖析Smarty缓存机制二[清除缓存方法]

前段时间,写了一篇 Smaryt缓存机制的几种缓存方式 ,详细介绍了三种缓存方式:全局缓存.部分缓存.局部缓存,以及通过is_cache()判断是否存在缓存来进行缓存生成.本来这篇早该完成,由于时间关系推到今天,还好思绪没有忘掉,闲话不多说,今天主要讲解Smarty缓存机制中如何清除缓存以及缓存集合的使用技巧,下面步入正题. 一.普通清除缓存方法总所周知,当你看了上一篇文章,会知道通过如下方法,对Smarty的缓存进行清除:代码示例:$smarty->clear_cache("index.

【转】Android自定义View的实现方法,带你一步步深入了解View(四)

原文网址: 转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/17357967 不知不觉中,带你一步步深入了解View系列的文章已经写到第四篇了,回顾一下,我们一共学习了LayoutInflater的原理分析.视图的绘制流程.视图的状态及重绘等知识,算是把View中很多重要的知识点都涉及到了.如果你还没有看过我前面的几篇文章,建议先去阅读一下,多了解一些原理方面的东西. 之前我有承诺过,会在View这个话题上多写几篇博客,讲一讲Vi

ActionBar自定义修改无效解决方法

如果程序支持API11以下的版本,那么需要修改多个地方 values-v14 和values-v11下面的styles中也要写上 <style name="AppTheme" parent="AppBaseTheme"> <!-- All customizations that are NOT specific to a particular API-level can go here. --> <item name="act

Delphi中ListView中实现自定义删除功能的方法

Delphi中ListView中实现自定义删除功能的方法 第一种:有时删除文件会出现文件删不掉现象 if lvMain.InnerListView.ItemIndex <> -1 then begin // DoContextMenuVerb(lvMain.SelectedFolder, 'delete'); DoContextMenuVerbB(lvMain.Folders[lvMain.InnerListView.ItemIndex], 'delete'); 第二种:删除功能很强大,建议使

常见浏览器清理缓存方法

各大常见浏览器清理缓存方法 360浏览器: https://jingyan.baidu.com/article/fedf0737486f2b35ac89772e.html 360极速浏览器:https://jingyan.baidu.com/article/e6c8503c1390d9e54f1a1893.html 谷歌浏览器:https://jingyan.baidu.com/article/4dc4084882d2bec8d946f1c3.html 火狐浏览器:https://jingyan