一个简单的redis调用类

能只能判断函数的调用规则,容错规则,

例如set函数

set($key, $value, $time = false)

根据time的真假来判断是否使用set,或者是setex函数

get函数

get($key, $json_decode = true)

根据json_decode来判断是否返回字符串或者是数组,默认返回数组

同时定义一个

private $tags = array(

  ‘set‘=>‘set‘,

  ‘setx‘=>‘set‘,

)

类内部使用魔术方法__call($name,$arguments)

if(array_key_exists($name,$this->tags){

  return call_user_function_array(array($this->_redis,$this->tags[$name]),arguments);

}else{

   thow new \exception ‘不存在此方法‘;

}

这样我们就可以在tags下面定义一些同义词作为容错函数使用。

时间: 2024-08-24 11:39:10

一个简单的redis调用类的相关文章

Go语言之从0到1实现一个简单的Redis连接池

Go语言之从0到1实现一个简单的Redis连接池 前言 最近学习了一些Go语言开发相关内容,但是苦于手头没有可以练手的项目,学的时候理解不清楚,学过容易忘. 结合之前组内分享时学到的Redis相关知识,以及Redis Protocol文档,就想着自己造个轮子练练手. 这次我把目标放在了Redis client implemented with Go,使用原生Go语言和TCP实现一个简单的Redis连接池和协议解析,以此来让自己入门Go语言,并加深理解和记忆.(这样做直接导致的后果是,最近写JS时

PHP实现的一个简单的数据库操作类

PHP实现的一个简单的数据库操作类 实现的功能: - 在实例化的时候能设置连接字符集 - 在实例化的时候能连接数据库 - 在实例化的时候能选择默认数据库 - 销毁对象时关闭数据库 代码如下: <?php // 数据库操作类MySQLDB class MySQLDB { // 声明属性 private $server; private $username; private $password; public $default_db; public $link; // 声明构造函数 public f

一个简单的参数校验类

当我们写js的重载函数的时候,我们需要判断不同的输入情况. 而,一般我们是根据参数的个数来判断的,但是,常常情况并非如此: function abc(a,b,c) a:string b:number c:boolean 或者 a:string b:string c:number 这两种情况都是参数个数为3,但是参数类型却完全不同.如何的方便的构建一个重载函数呢? 用我的类即可: 类代码(很简短): var Param = { varify: function (oParam, sParamTyp

PHP实现的一个简单的数据库操作类(修改版)

PHP实现的一个简单的数据库操作类 实现的功能: - 在实例化的时候能设置连接字符集 - 在实例化的时候能连接数据库 - 在实例化的时候能选择默认数据库 - 销毁对象时关闭数据库 代码如下: <?php // 数据库操作类MySQLDB class MySQLDB { // 声明属性 private $server; private $port; private $username; private $password; public $default_db; private $charset;

使用Socket模拟一个简单的Webservice调用

webservice是对socket的一个封装,让远程调用调用变得更加简单,那么使用socket究竟有多么麻烦呢?来看看. 做一个简单的天气查询: 服务端: public class SocketServer { public static void main(String[] args) { DataInputStream dataInputStream = null; DataOutputStream dataOutputStream = null; try { // 启动socket服务端

演示一个简单的Redis队列

0.Windows Service版下载 https://github.com/rgl/redis/downloads 1.新建一个Console项目 打开Nuget控制台,执行以下命令 Install-Package ServiceStack.Common -Version 3.9.71 Install-Package ServiceStack.Redis -Version 3.9.71 2.在Main中输入测试数据 using (var redis = new RedisClient(cac

一个简单的通用验证类的实现

进园子三年多了,从来都只是看各位大神的文章,而没有写过,今天心血来潮来写一篇,本人水平略浅,写得不好勿见怪,大神勿喷 首先定义一个验证类型枚举,这里只列出最简单的两种验证类型 1 /// <summary> 2 /// 验证类型枚举 3 /// </summary> 4 public enum ValidateType 5 { 6 /// <summary> 7 /// 不为NULL验证 8 /// </summary> 9 NotNullValidate,

一个简单实现的string类

为了复习c++知识,简单的实现一个string类,类名为CMyString 环境说明:windows 7 64位 开发工具:Visual Studio 2015 CMyString类的头文件CMyString.h 1 #include <iostream> 2 3 #ifndef __C_MY_STRING__ 4 #define __C_MY_STRING__ 5 6 class CMyString 7 { 8 public: 9 //默认构造函数 10 CMyString(); 11 //

一个简单实用的log类

自己写一些小代码的时候总是用fprintf来写log,感觉这样不太科学,还是写一个通用的简单带log level的log类,以后就拿来复用吧.这个类实现了非常简单的功能:如果指定了log文件path和name创建一个log文件,并将各种level的写入文件中,否则都打印到屏幕,格式如下: [DEBUG] : xxxxx [WARN] : xxxx [MSG] : xxxxx 代码: //--------------log.h---------------------- #ifndef __LOG