php的redis类。
<?php class redisCache{ public static $ip = REDIS_HOST; public static $port = REDIS_PORT; public static $expire = REDIS_EXPIRE; private static $password = REDIS_PASS; public static $dbindex = REDIS_DB; public static $redis = false; /** * 连接到redis缓存 */ public function __construct(){ if(extension_loaded('redis')){ if(self::$redis = new redis()){ if(!self::ping()){ self::$redis = false; }else{ self::$redis->auth(self::$password); self::$redis->select(self::$dbindex); } }else{ self::$redis = false; } }else{ self::$redis = false; } if (self::$redis == false) { ini_set('session.save_handler','files'); ini_set('session.save_path','/tmp'); } } /** * ping redis 的连通性 */ public static function ping(){ if(self::$redis->connect(self::$ip,self::$port)){ return true; }else{ return false; } } /** * 检测redis键是否存在 */ public static function exists($key){ if (self::$redis) { if(self::$redis->exists($key)){ return true; } else { return false; } } } /** * 获取redis键的值 */ public static function get($key){ if (self::$redis) { if(self::exists($key)){ return json_decode(self::$redis->get($key) ?? null,true); } } else { return false; } } /** * 带生存时间写入key */ public static function setex($key, $value, $expire = 600){ if (self::$redis) { if (self::$redis->setex($key,$expire,json_encode($value)) ) { return true; } } } /** * 设置redis键值 */ public static function set($key, $value){ if (self::$redis) { if( self::$redis->set($key,json_encode($value)) ){ self::$redis->expire($key, self::$expire); } } } /** * 删除key */ public static function del($key){ if (self::$redis) { self::$redis->del($key); } } /** * 清空所有数据 */ public static function flushall(){ if (self::$redis) { self::$redis->flushall(); } } }
<?php new redisCache(); redisCache::get($key);