windows下安装redis 缓存程序的安装和使用

前段时间公司需要使用到redis来实现缓存功能,写此文章来分享redis的安装及其使用技巧。

首先我们需要下载redis服务器端,执行redis-server.exe,这个进程需要一直处于开启状态,我们还可以下载一个redis的管理工具phpRedisAdmin

为了方便管理redis设置值,在设置其键值时,需要注意一些规范,比如我们有三个系统同时运行在同台服务器上面,并且都使用redis做了缓存,如果其中有一个系统中的键值出现重复,就会被后来设置的覆盖掉。

以下是本人自己写的一个redis的predis的使用封装类

<?php
/**
*实现redis客户端predis缓存功能
*@author [email protected]
**/
class Redis{
	private $redis; //predis获取对象
    private $statue; //predis状态
    private $time=1000; //默认过期时间
    public  $redis_start=FALSE; //是否开户缓存
	/**
	*初始化
	**/
	public function __construct(){
		
	}
	
	 /**
     * 开启缓存
     * @param param string 
     * */
     public function redis_start($param=''){
         $this->redis_start = TRUE;
         $param = empty($param)?'':$param.':';
         if(file_exists('predis/lib/Predis/Autoloader.php'))
        {
            require_once('predis/lib/Predis/Autoloader.php');
            Predis\Autoloader::register();
            $this->redis=new Predis\Client('',array('prefix' => 'www.example.com:'.$param));
        }else
        {
            return FALSE;
        }
     }
    
     /**
      * 普通缓存数据
      * @param key 传入值参数
      * @param value 传入缓存值参数
      * */
     public function set($key,$value)
     {
        if($this->redis_start !== TRUE)
        {
            return FALSE;
        }
        if(empty($key) || empty($value))
        {
            return FALSE;
        }
        return $this->redis->set($key,$value);
     }
    
    /**
     * 设置缓存数据
     * @param key 传入值参数
     * @param value 传入缓存值参数
     * @param time 设置过期时间
     * @return string
     * */
    public function setex($key,$value,$time='')
    {
        if($this->redis_start !== TRUE)
        {
            return FALSE;
        }
        if(empty($time))
        {
            $time = $this->time;
        }
        if(empty($key) || empty($value))
        {
            return FALSE;
        }
        return $this->redis->setex($key,$time,$value);
    }
    
    /**
     * 获取缓存数据
     * @param key 缓存键参数
     * @return string
     * */
     public function get($key)
     {
        if($this->redis_start !== TRUE)
        {
            return FALSE;
        }
        if(empty($key))
        {
            return FALSE;
        }
        if($this->redis->exists($key))
        {
            return $this->redis->get($key);
        }else{
            return FALSE;
        }
     }
}
$username = $_GET['username'];
$redis = new Redis();
$redis->redis_start();
$get_redis = $redis->get('username');
if($get_redis ===  FALSE){
	$redis->setex('username',$username);
}
var_dump($get_redis);

?>


你可能感兴趣的:(windows)