识别图中草书在线识别

Redis支持的客户端种类非常多,包括C、Java、PHP、Python等,本文主要介绍PHP客户端的安装和使用。
Redis的客户端实际上担负了通过网络协议与Redis Server进行通信的过程,通信的过程必须遵循协议规范,让客户的调用更加符合特定语言的使用习惯。现有PHP客户端:rediska、phpredis、Predis、Redisent。这些可护短中,有纯PHP的实现方案,也有二进制版本的实现方案。
官方提供的PHP客户端列表如下:
客户端策略和Hash算法定义
PHP扩展(C语言)
测试数据(本地环境下)
18900 SET/sec using 12 bytes for both key and value 18300 GET/sec while retrieving the very same values 0.210 seconds to fetch 30000 keys using _KEYS *_.
29000 SET/sec using 12 bytes for both key and value 30000 GET/sec while retrieving the very same values 0.037 seconds to fetch 30000 keys using "KEYS *"".
测试结果(网络环境下)
3150 SET/sec using 12 bytes for both key and& 3150 GET/sec while retrieving the very same& 0.212 seconds to fetch 30000 keys using "KEYS *".
3300 SET/sec using 12 bytes for both key and& 3300 GET/sec while retrieving the very same& 0.088 seconds to fetch 30000 keys using "KEYS *".
/*---------------------- Predis ----------------------------*/
Predis是一个灵活和特性完备(PHP&5.3)的支持Redis的PHP客户端。当前版本为0.6.3,默认不支持PHP5.2。 主要特性如下: && & 完整的支持从1.2到2.4的Redis,并且支持当前正在开发的版本; && & 提供客户端实现的一致性哈希算法,支持自定义; && & 在单个或聚合连接中支持命令管道;(Command pipelining on single and aggregated connections) && & 能够通过TCP/IP或者Unix domain sockets连接到redis,支持持久连接; && & 自动连接Redis实例,使用“懒惰”方式,只在第一个命令发出时执行连接; && & 可以灵活定义客户端的命令集合;
Predis安装
/*----------------------- phpredis ---------------------------*/
这是一个二进制版本的PHP客户端,按照的说法,效率要比Predis高。这个版本支持作为Session的Handler。这个扩展的有点在于无需加载任何外部文件,使用比较方便。缺点在于难于扩展,一般的PHP程序员无法对其做出扩展。考虑到Redis正在飞速发展过程中,缺乏扩展的特性还是有些影响的,需要维护过程中注意进行升级更新。
Max下整合XAMPP的安装(需要XAMPP的Dev环境)
sudo /Applications/XAMPP/xamppfiles/bin/phpize sudo MACOSX_DEPLOYMENT_TARGET=10.6 CFLAGS="-arch i386 -arch x86_64 -g -Os -pipe -no-cpp-precomp" CCFLAGS="-arch i386 -arch x86_64 -g -Os -pipe" CXXFLAGS="-arch i386 -arch x86_64 -g -Os -pipe" LDFLAGS="-arch i386 -arch x86_64 -bind_at_load" ./configure --with-apxs=/Applications/XAMPP/xamppfiles/bin/apxs --with-php-config=/Applications/XAMPP/xamppfiles/bin/php-config sudo make sudo make install
然后修改php.ini,重启服务就可以了。
&?php echo 'phpredis sample:&br /&';
error_reporting(E_ALL); ini_set('display_errors','ON');
$redis = new Redis(); $redis-&connect('127.0.0.1',6379); $redis-&set('first_key_phpredis', 'Hello world');
/*------------------- Rediska -------------------------------*/
rediska 目前还处于 beta 阶段。他的代码托管在github上,可以方便的获取。另外也提供了PEAR版本,所以获取和安装都非常方便。可以使用PEAR包安装。
本文使用的是 Mac 下的 XAMPP提供的PEAR进行安装。首先添加频道地址:
localhost:bin shiqiang$ sudo ./pear channel-discover
Password: Adding Channel "" succeeded Discovery of channel "" succeeded
然后进行安装 localhost:bin shiqiang$ sudo ./pear channel-discover
Password: Adding Channel "" succeeded Discovery of channel "" succeeded localhost:bin shiqiang$ sudo ./pear install geometria-lab/Rediska-beta Unknown remote channel:
Did not download optional dependencies: channel://pear., use --alldeps to download automatically geometria-lab/Rediska can optionally use package "channel://pear." (recommended version 1) downloading Rediska-0.5.6.tgz ... Starting to download Rediska-0.5.6.tgz (116,203 bytes) .........................done: 116,203 bytes install ok: channel://pear.
安装完成后,就可以看到本地的目录环境下已经有了Rediska的PEAR包 localhost:XAMPP shiqiang$ sudo find . -name 'Redis*' ./xamppfiles/lib/php/pear/data/Rediska ./xamppfiles/lib/php/pear/doc/Rediska ./xamppfiles/lib/php/pear/Rediska ./xamppfiles/lib/php/pear/Rediska/Options/RediskaInstance.php ./xamppfiles/lib/php/pear/Rediska/Zend/Application/Resource/Rediska.php ./xamppfiles/lib/php/pear/Rediska/Zend/Auth/Adapter/Redis.php ./xamppfiles/lib/php/pear/Rediska/Zend/Cache/Backend/Redis.php ./xamppfiles/lib/php/pear/Rediska/Zend/Log/Writer/Redis.php ./xamppfiles/lib/php/pear/Rediska/Zend/Queue/Adapter/Redis.php ./xamppfiles/lib/php/pear/Rediska/Zend/Session/SaveHandler/Redis.php ./xamppfiles/lib/php/pear/Rediska.php ./xamppfiles/lib/php/pear/test/Rediska ./xamppfiles/lib/php/pear/test/Rediska/tests/library/Rediska ./xamppfiles/lib/php/pear/test/Rediska/tests/library/Rediska/Options/RediskaInstanceTest.php ./xamppfiles/lib/php/pear/test/Rediska/tests/library/RediskaTest.php ./xamppfiles/temp/pear/download/Rediska-0.5.6 ./xamppfiles/temp/pear/download/Rediska-0.5.6/library/Rediska ./xamppfiles/temp/pear/download/Rediska-0.5.6/library/Rediska/Options/RediskaInstance.php ./xamppfiles/temp/pear/download/Rediska-0.5.6/library/Rediska/Zend/Application/Resource/Rediska.php ./xamppfiles/temp/pear/download/Rediska-0.5.6/library/Rediska/Zend/Auth/Adapter/Redis.php ./xamppfiles/temp/pear/download/Rediska-0.5.6/library/Rediska/Zend/Cache/Backend/Redis.php ./xamppfiles/temp/pear/download/Rediska-0.5.6/library/Rediska/Zend/Log/Writer/Redis.php ./xamppfiles/temp/pear/download/Rediska-0.5.6/library/Rediska/Zend/Queue/Adapter/Redis.php ./xamppfiles/temp/pear/download/Rediska-0.5.6/library/Rediska/Zend/Session/SaveHandler/Redis.php ./xamppfiles/temp/pear/download/Rediska-0.5.6/library/Rediska.php ./xamppfiles/temp/pear/download/Rediska-0.5.6/tests/library/Rediska ./xamppfiles/temp/pear/download/Rediska-0.5.6/tests/library/Rediska/Options/RediskaInstanceTest.php ./xamppfiles/temp/pear/download/Rediska-0.5.6/tests/library/RediskaTest.php ./xamppfiles/temp/pear/download/Rediska-0.5.6.tgz
简单使用的示例
error_reporting(E_ALL); ini_set('display_errors','ON');
$options = array( &&& 'namespace' =& 'Application_', &&& 'servers' & =& array( &&&&&& array('host' =& '127.0.0.1', 'port' =& 6379), &&&&&& array('host' =& '127.0.0.1', 'port' =& 6380) &&& ) );
require_once 'Rediska.php'; $rediska = new Rediska($options);//创建Rediska对象,连接服务器
$key = new Rediska_Key('first_key'); $key-&setValue('first_value');
$get_value = new Rediska_Key('first_key'); print $get_//取回存储的值
相对于Memcache的区别 1、支持的数据类型多样化。支持字符串、列表、集合、有序集合、Hash数组这几种数据类型。 2、可以灵活的指定key存储在哪台服务器上。
参考资料: 1、 2、 3、 4、 5、
阅读(...) 评论()结束的伤感 的BLOG
用户名:结束的伤感
文章数:59
评论数:34
访问量:43920
注册日期:
阅读量:5863
阅读量:12276
阅读量:419745
阅读量:1108103
51CTO推荐博文
Redis PHP连接操作①安装相关程序#&yum&install&php&php-devel&php-fpm&httpd②下载并编译安装phpredis#&git&clone&/phpredis/phpredis.git
正克隆到&'phpredis'...
remote:&Counting&objects:&6577,&done.
remote:&Compressing&objects:&100%&(15/15),&done.
remote:&Total&6577&(delta&4),&reused&0&(delta&0),&pack-reused&6562
接收对象中:&100%&(),&3.32&MiB&|&359.00&KiB/s,&done.
处理&delta&中:&100%&(),&done.
#&cd&phpredis
Configuring&for:
PHP&Api&Version:&&&&&&&&&
Zend&Module&Api&No:&&&&&&
Zend&Extension&Api&No:&&&
#&./configure
#&make&install
Installing&shared&extensions:&&&&&/usr/lib64/php/modules/③配置PHP支持扩展模块#&vi&/etc/php.ini
731&extension&=&/usr/lib64/php/modules/redis.so④测试a.连接到 redis 服务#&vi&&test1.php
&&&//连接本地的&Redis&服务
&&&$redis&=&new&Redis();
&&&$result&=&$redis-&connect('127.0.0.1',6379);
&&&if($result){
&&&&&&&&&&echo&"&h1&Connection&to&server&sucessfully&h1&";
&&&&}else{
&&&&&&&&&&echo&"&h1&Connection&to&server&fail&h1&";
&&&//查看服务是否运行
&&&echo&"Server&is&running:&"&.&$redis-&ping();
?&执行脚本,输出结果为:Connection to server sucessfullyServer is running: +PONGb.Redis PHP String(字符串) 实例set描述:设置key和value的值参数: Key Value返回值:BOOL 成功返回:TRUE;失败返回:FALSEget描述:获取有关指定键的值参数:key返回值:string或BOOL 如果键不存在,则返回 FALSE;否则,返回指定键对应的value值。#&vi&test2.php
&$redis&=&new&redis();
&$redis-&connect('127.0.0.1',&6379);
&$result&=&$redis-&set('test',"12345");
&var_dump($result);&&&&//结果:bool(true)
&$result&=&$redis-&get('test');&&&
&var_dump($result);&&&//结果:string(5)"12345"
?&c.Redis PHP List(列表) 实例lpush描述:由列表头部添加字符串值。如不存在该键则创建该列表;如该键存在,且不是一个列表,返回FALSE。参数:key,valuelgetrange描述:返回在该区域中的指定键列表中开始到结束存储的指定元素,lGetRange(key, start, end)。0第一个元素,1第二个元素… -1最后一个元素,-2的倒数第二…参数:key start end返回值:成功返回查找的值,失败false#&vi&test3.php
&&&//连接本地的&Redis&服务
&&&$redis&=&new&Redis();
&&&$redis-&connect('127.0.0.1',&6379);
&&&//存储数据到列表中
&&&$redis-&lpush("list",&"Redis");
&&&$redis-&lpush("list",&"Mongodb");
&&&$redis-&lpush("list",&"Mysql");
&&&//&获取存储的数据并输出
&&&print_r($redis-&lgetrange('list',0,-1));
&&&//结果:Array&(&[0]&=&&Mysql&[1]&=&&Mongodb&[2]&=&&Redis&)
?&使用phpRedisAdmin管理Redis①下载安装相关程序#&yum&-y&install&php-mbstring
#&git&clone&/ErikDubbelboer/phpRedisAdmin.git
正克隆到&'phpRedisAdmin'...
remote:&Counting&objects:&560,&done.
remote:&Total&560&(delta&0),&reused&0&(delta&0),&pack-reused&560
接收对象中:&100%&(560/560),&165.53&KiB&|&97.00&KiB/s,&done.
处理&delta&中:&100%&(332/332),&done.
#&cd&phpRedisAdmin/
#&git&clone&/nrk/predis.git&vendor
正克隆到&'vendor'...
remote:&Counting&objects:&19472,&done.
remote:&Total&19472&(delta&0),&reused&0&(delta&0),&pack-reused&19472
接收对象中:&100%&(),&4.98&MiB&|&669.00&KiB/s,&done.
处理&delta&中:&100%&(),&done.
#&mv&phpRedisAdmin&/var/www/html/②使用用phpRedisAdmin浏览器输入http://localhost/phpRedisAdmin进入(默认无需帐号密码,需自行设置)问题:phpRedisAdmin无法打开,提示HTTP 500错误,且httpd日志显示如下:PHP Fatal error: &Call to undefined function mb_internal_encoding() in /var/www/html/phpRedisAdmin/includes/common.inc.php on line 59解决:缺少php-mbstring扩展,yum -y install php-mbstringRedis&桌面管理工具①Redis Desktop Manager& &Redis Desktop Manager 是一个快速、简单、支持跨平台的 Redis 桌面管理工具,基于 Qt 5 开发,支持通过 SSH Tunnel 连接。& &下载地址:。②Redis Studio& & & Redis Studio是Redis桌面客户端,支持Windows操作系统。它提供更轻量级、更友好、更 高效的Redis管理。& & & 下载地址:③RedisClient& & & RedisClient 是管理redis服务器GUI工具,使用 Java swt 和jedis 编写。它将redis数据以windows资源管理器的界面风格呈现给用户,可以帮助redis开发人员和维护人员方便的建立,修改,删除,查询redis数据。& & & 下载地址:本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)(will not be published)
Submit Comment

我要回帖

更多关于 草书识别 的文章

 

随机推荐