php redis 封装类,php redis封装类
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);
php redis 封装类,php redis封装类相关推荐
- Redis 配置文件介绍——redis.conf
Units单位 # Note that in order to read the configuration file, Redis must be # started with the file p ...
- python redis连接池获取后关闭_python通过连接池连接redis,操作redis队列
在每次使用redis都进行连接的话会拉低redis的效率,都知道redis是基于内存的数据库,效率贼高,所以每次进行连接比真正使用消耗的资源和时间还多.所以为了节省资源,减少多次连接损耗,连接池的作用 ...
- php redis管理系统,php+redis实现小型的用户管理系统
1.redis.php ,用于连接redis数据库 //实例化 $redis = new Redis(); //连接服务器 $redis->connect("localhost&quo ...
- 深入剖析Redis系列(七) - Redis数据结构之列表
前言 列表(list)类型是用来存储多个 有序 的 字符串.在 Redis 中,可以对列表的 两端 进行 插入(push)和 弹出(pop)操作,还可以获取 指定范围 的 元素列表.获取 指定索引下标 ...
- redis(二)redis实战 使用redis进行文章的排序
2019独角兽企业重金招聘Python工程师标准>>> http://www.beckbi.cn/?p=172 redis实战使用redis进行文章的排序 转载于:https://m ...
- Linux下安装Redis php-redis扩展 redis重启shell脚本 超详细!
前言 前面刚写过nosql其中三款热门产品的对比,这次主要写关于Redis的一些事情,Redis的介绍.安装以及扩展(php-redis,因为我是phper)安装等等.同时是写给我的朋友(cccjjj ...
- Redis学习笔记~Redis在windows环境下的安装
Redis是一个key-value的存储系统,它最大的特点就是可以将数据序列化到文件中. redis存储在服务器的内存或者文件中,它不是session,不是cookies,它只是个更安全,更稳定,更可 ...
- php redis 管道技术,Redis管道技术这么厉害,你都用对了吗
Redis是一种基于客户端-服务端模型以及请求/响应协议的TCP服务.这意味着通常情况下一个请求会遵循以下步骤: 客户端向服务端发送一个查询请求,并监听Socket返回,通常是以阻塞模式,等待服务端响 ...
- Redis系列-远程连接redis并给redis加锁
假设两台Redis服务器,ip分别为:192.168.1.101和192.168.1.103,如何在101上通过redis-cli访问103上的redis呢?在远程连接103之前,先讲下redis-c ...
最新文章
- golang微服务框架对比_Go语言开发的微服务框架,你了解多少?
- 转python version 2.7 required,which was not found in the registry
- MySQL连表分组统计使用count查询出数据不准确问题解决方案
- python按日期排序_你如何在python中获得按创建日期排序的目录列表?
- Qtum量子链研究院:Plasma扩容方案详解(上)
- java 使用 new Date() 和 System.currentTimeMillis() 获取当前 时间戳
- 兼容IE和FF:获取Referer的JS和PHP方法 及 PHP利用curl伪造IP和来路
- SSM框架中出现的几种注解的理解
- 可管理多台远程mysql服务器的phpmyadmin_修改phpMyAdmin使其能够管理多台远程MySQL服务器...
- DSP28335学习记录(二)——外部中断和定时器中断
- 网页消息服务器异常联系管理员,服务器故障请与管理员联系
- 2019DTCC大会感受
- 怎样描写事物的动态?
- Qt中的矩阵计算库eigen
- 什么是cert文件?
- 楷书书法规则_楷书的结构法则
- python蟒蛇画法
- 2019网络统考计算机基础,2019年12月网络教育统考《计算机应用基础》复习题(十)...
- matlab可视化界面怎么修改,matlab可视化界面
- 华为天才少年谢凌曦:关于视觉识别领域发展的个人观点
热门文章
- popen后用fgets读数据的问题
- SpringMVC_day1_常用注解
- t–sql pl–sql_不正确SQL Server统计信息– SQL查询性能的杀手–基本知识
- 三元运算符, @屏蔽错误运算符
- BZOJ4133 : Answer的排队
- 【java】简介(一)
- Android学习总汇
- 【PAT Advanced Level】1011. World Cup Betting (20)
- Java中sleep()与wait()的区别
- [ZJOI2013]K大数查询