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);