如何在thinkPHP框架中使用复述,实现一个增删改查操作?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
<强>一、概述强>
复述是一个NoSQL数据库,由于其数据类型的差异,所以要在MVC框架中实现豆腐操作,比较繁锁。事实上在thinkPHP框架中,只能实现简单的缓存应用。而不像MongoDB那样能够实现常见数据库的豆腐操作。本文章将通过扩展的方式,实现复述的豆腐操作,这样我们就可以像操作普通的Mysql数据库那样实现复述的编程了。
<强>二,实现过程强>
接下为将以thinkPHP作为MVC开发框架,详细介绍复述的豆腐操作。需要说明的是,在thinkPHP中本身并不支持复述,开发环境,只支持使用复述,开发简单的数据缓存功能,所以我们必须要通过扩展功能,实现复述的编程支持。为了方便读者学习,笔者临时开发了相应的模块扩展及数据库扩展。
解压下载后的压缩包,将得到DbRedis.class.php文件及RedisModel.class.php文件。将DbRedis.class.php文件复制到thinkPHP/扩展/司机/Db目录;将RedisModel.class。php文件复制到ThinkPHP/扩展/模型目录。然后在项目配置文件中加入复述,数据库连接信息,如以下代码所示。
& # 39; REDIS_HOST& # 39;=祝辞& # 39;192.168.0.2& # 39; & # 39;REDIS_PORT& # 39;=祝辞;6379年, & # 39;REDIS_AUTH& # 39;=祝辞;123456年, & # 39;REDIS_DB_PREFIX& # 39;=祝辞& # 39;& # 39;
读者可根据实际环境填写即可。通过前面步骤,至此就完成了在ThinkPHP中进行复述,开发的前期准备,接下来将结合示例代码,详细演示复述的豆腐操作。
<强> 1,增加数据强>
这里的增加数据包括复述,五大数据类型的数据添加。由于篇幅所限,这里不再详细介绍操作的实现原理,将通过代码演示操作方式。如以下代码所示。
& lt; php ?/* * *,复述,添加数据 *,Enter description  here … *,@author 管理员 * */{class AddAction  extends 行动 ,/* * ,,*,列表类型 ,,*,Enter description here … ,,*/public 才能;function 列表(){ ,,,复述,美元=new RedisModel (“list11"); ,,,//一次只能推送一条 ,,,echo 美元复述→添加(“ceiba"); ,,} ,,/* * ,,*,字符串类型 ,,*,Enter description here … ,,*/public 才能;function 字符串(){ ,,,复述,美元=new RedisModel (); ,,,data=https://www.yisu.com/zixun/array(美元 “str1”=>“木棉”//一个键,对应一个值 “str2”=>“李开湧”, “str3”=>“李明”, ); echo $复述->类型(字符串)->添加(元数据); }/* * *散列类型 *在这里输入描述…… */公共函数hash () { 复述,美元=new RedisModel(“用户:1”); $ data=数组( “field1”=>“木棉”//一个键,对应一个值 “field2”=>“李开湧”, “field3”=>“李明”, );//支持批量添加 echo $复述->类型(散列)->添加(元数据); }/* * *集合类型 *在这里输入描述…… */公共函数集(){ 复述,美元=new RedisModel(“集:1”);//一次只能推送一条 echo $复述->类型(集)->添加(“木棉”); }/* * *有序集合 *在这里输入描述…… */公共函数zset () { 复述,美元=new RedisModel (“zset: 1”);//支持批量添加 $ data=数组(//排序=>值 “10”=>“木棉”, “十一”=>“李开湧”, “12”=>“李明” ); echo $复述->类型(“zset”) ->添加(元数据); } } ?>
<强> 2,查询数据强>
& lt; php ?//,复述,查询数据 class IndexAction  extends Action  { public 才能;function 页面(){ ,,,这美元→显示(); ,,} ,/* * ,,*,列表类型,默认类型 ,,*,Enter description here … ,,*/public 才能;function 列表(){ ,,,//转储(C (“REDIS_HOST")); ,,,复述,美元=new RedisModel (“list1"); ,,,$字段=阵列( ,,,,,“nmae",“age",“pro" ,,,); ,,,data=https://www.yisu.com/zixun/复述,美元->字段(字段)->选择(); 转储(元数据);//获得队列中的记录总数 数=复述,美元->数(); 转储(美元数); }/* * *字符串类型 *在这里输入描述…… */公共函数string () { 复述,美元=new RedisModel ();//字段表示每个键名称 $=$复述,行->类型(字符串)->字段(数组(“str1”、“str2”)) ->选择(); 转储($行); }/* * *散列类型 *在这里输入描述…… */公共函数hash () { 复述,美元=new RedisModel (h9);//默认显示所有散列字段,可以通过领域连惯操作限制 $=$复述,行->类型(散列)->字段(数组(“field1”)) ->选择(); 转储($行);//统计总记录 数=复述,美元->类型(散列)->数(); 转储(美元数); }/* * *集合类型 *在这里输入描述…… */公共函数集(){ 复述,美元=new RedisModel (); 美元arr=阵列( s3、s4” ); $=$复述,行->类型(集)->字段(arr) -> (“sinterstore”) ->选择();//求交集 转储($行); $=$复述,行->类型(集)->字段(arr) -> (“sunion”) ->选择();//求并集 转储($行); $=$复述,行->类型(集)->字段(arr) -> (“sdiff”) ->选择();//求差集 转储($行); 复述,美元=new RedisModel (s3); $=$复述,行->类型(集)->选择();//返回单个集合列表中的所有成员 转储($行);//统计记录 复述,美元=new RedisModel (s3); 数=复述,美元->类型(集)->数(); 转储(美元数); }/* * *有序集合 *在这里输入描述…… */公共函数zset () { 复述,美元=new RedisModel (z2);//默认显示0到20 data=复述,美元->类型(“zset”) ->限制(0,1)->选择(); 转储(元数据);//使用zRevRange显示数据,数组第2个参数为真时显示排序号 data=复述,美元->类型(“zset”) ->限制(0,1)->订单(数组(“zRevRange”,真的))->选择(); 转储(元数据);//不设置限制时,将统计所有记录 数=复述,美元->类型(“zset”) ->限制(0,1)->数(); 转储(美元数); } }如何在thinkPHP框架中使用复述,实现一个增删改查操作