㈠ php redis如何使用
开始在 PHP 中使用 Redis 前,要确保已经安装了 redis 服务及 PHP redis 驱动,且你的机器上能正常使用 PHP。
PHP安装redis扩展
/usr/local/php/bin/phpize #php安装后的路径
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
修改php.ini文件
vi /usr/local/php/lib/php.ini
增加如下内容:
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-zts-20090626"
extension=redis.so
安装完成后重启php-fpm 或 apache。查看phpinfo信息,就能看到redis扩展。
连接到 redis 服务
<?php
//连接本地的 Redis 服务
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
echo "Connection to server sucessfully";
//查看服务是否运行
echo "Server is running: " . $redis->ping();
?>
执行脚本,输出结果为:
Connection to server sucessfully
Server is running: PONG
Redis PHP String(字符串) 实例
<?php
//连接本地的 Redis 服务
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
echo "Connection to server sucessfully";
//设置 redis 字符串数据
$redis->set("tutorial-name", "Redis tutorial");
// 获取存储的数据并输出
echo "Stored string in redis:: " . jedis.get("tutorial-name");
?>
执行脚本,输出结果为:
Connection to server sucessfully
Stored string in redis:: Redis tutorial
Redis PHP List(列表) 实例
<?php
//连接本地的 Redis 服务
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
echo "Connection to server sucessfully";
//存储数据到列表中
$redis->lpush("tutorial-list", "Redis");
$redis->lpush("tutorial-list", "Mongodb");
$redis->lpush("tutorial-list", "Mysql");
// 获取存储的数据并输出
$arList = $redis->lrange("tutorial-list", 0 ,5);
echo "Stored string in redis:: "
print_r($arList);
?>
执行脚本,输出结果为:
Connection to server sucessfully
Stored string in redis::
Redis
Mongodb
Mysql
Redis PHP Keys 实例
<?php
//连接本地的 Redis 服务
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
echo "Connection to server sucessfully";
// 获取数据并输出
$arList = $redis->keys("*");
echo "Stored keys in redis:: "
print_r($arList);
?>
执行脚本,输出结果为:
Connection to server sucessfully
Stored string in redis::
tutorial-name
tutorial-list
㈡ 怎么安装redis PHP扩展,windows下
1、首先到相应网站下载redis:
下载完成后解压到任意盘符如:D:/redis
里面包括:如图所示。
redis-server.exe:服务程序
redis-check-mp.exe:本地数据库检查
redis-check-aof.exe:更新日志检查
redis-benchmark.exe:性能测试,用以模拟同时由N个客户端发送M个
SETs/GETs
查询
(类似于
Apache
的ab
工具).
当然还需要一个:redis.conf(具体内容网上随便搜都会有)
2、启动redis:
用cmd命令进入到redis的根目录,
输入命令:redis-server.exe
redis.conf
启动后如图所示:
启动cmd窗口要一直开着,关闭后则Redis服务关闭。
3、这时服务开启着,另外开一个窗口进行,设置客户端:
输入命令:redis-cli.exe
-h
192.168.2.168
-p
6379(这个ip自己定哈,6379为redis默认端口)
输入后如图所示:
4、安装redis扩展
首先,查看所用php编译版本V6/V9
在phpinfo()中查看
5、去相应网站下载redis扩展:
如图所示下载对应版本的redis扩展
6、将下载的php_redis.dll放在php扩展目录中(ext),并修改配置文件php.ini
添加
扩展的时候一定要
extension=php_igbinary.dll
extension=php_redis.dll
这个顺序如图:
7、重新启动服务,查看phpinfo(),出现如图表示成功;
8、PHP代码测试
$redis
=
new
Redis();
$redis->connect("192.168.138.2","6379");
//php客户端设置的ip及端口
//存储一个
值
$redis->set("say","Hello
World");
echo
$redis->get("say");
//应输出Hello
World
//存储多个值
$array
=
array('first_key'=>'first_val',
'second_key'=>'second_val',
'third_key'=>'third_val');
$array_get
=
array('first_key','second_key','third_key');
$redis->mset($array);
var_mp($redis->mget($array_get));
㈢ php怎么实现redis阻塞队列
具体的业务还是得需要你自己定制。你的需求实际上是一个变形的生产者-消费者实现。对于此类需求,主要是将请求和实际的处理过程解耦,一般都是采取异步的方式来通知请求方,这跟用不用redis其实没有多大的关系。一般的实现方法是你需要将用户的请求封装成一个Task,然后将这个Task再push到redis队列,然后后端的worker.php完全可以多进程、多线程的并发处理Task并将处理结果回调给请求方。这里唯一麻烦点的就是这个Task的设计,需要能够包含请求信息(请求内容,请求方标识等等).
㈣ php web打包封装app redis可用吗
这个是可用的,对这个系统运行要求也高。
希望我的回答可以帮到你,有什么不懂可以追问。
㈤ osx上得php redis扩展怎么安装
1、php redis下载地址:http://pecl.php.net/package/redis
[raykaeso@web ~]$ wget http://pecl.php.net/get/redis-2.2.7.tgz
2、解压安装并进入redis目录
[raykaeso@web ~]$ tar xzf redis-2.2.5.tgz
[raykaeso@web ~]$ cd redis-2.2.5
3、在redis文件夹下,生成configure配置文件
[raykaeso@web redis-2.2.5]$ /usr/local/php/bin/phpize
Configuring for:
PHP Api Version: 20090626
Zend Mole Api No: 20090626
Zend Extension Api No: 220090626
[raykaeso@web redis-2.2.5]$ ./configure –with-php-config=/usr/local/php/bin/php-config
[raykaeso@web redis-2.2.5]$ make
[raykaeso@web redis-2.2.5]$ make install
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/
cp: cannot create regular file `/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/#INST@6338#': Permission denied
make: *** [install-moles] Error 1
你也可以去后盾人看看php基础教学视频看看,也是不错的选择,希望能帮到你,给个采纳吧谢谢(=;ェ;=)加油加油
㈥ php-redis扩展 怎么装安装啊
1、下载PHPredis安装包,可以去去pecl官网下载
2、解压安装并进入Redis目录
[root@Redis ~]# tar xzf redis-2.2.5.tgz
[root@Redis ~]# cd redis-2.2.5
3、在Redis文件夹下,生成configure配置文件
[root@Redis redis-2.2.5]# /usr/local/php/bin/phpize
Configuring for:
PHP Api Version:20090626
Zend Mole Api No:20090626
Zend Extension Api No:220090626
[root@Redis redis-2.2.5]# ./configure --with-php-config=/usr/local/php/bin/php-config
[root@Redis redis-2.2.5]# make
[root@Redis redis-2.2.5]# make install
Installing shared extensions:/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/
cp: cannot create regularfile`/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/#INST@6338#': Permission denied
make:***[install-moles]Error1
注意:一定要用root用户。
[root@Redis redis-2.2.5]# su
Password:
[root@web redis-2.2.5]# make install
4、在PHP配置文件php.ini里面加载Redis扩展
extension=redis.so
5、查看phpinfo,Redis扩展是否加载
redis
Redis Support enabled
Redis Version 2.2.5
至此,Redis扩展已经安装成功并加载,可以用PHP操作Redis了。
附:
windows下安装Redis扩展就更加简单了,找到对应的版本,下载dll文件,放到PHP目录下面的ext,修改PHP的配置文件php.ini,加载extension=php_redis.dll,重启Apache,查看phpinfo是否有Redis,如果有就恭喜你,已经安装成功了,就是这么简单。
㈦ PHP使用redis需要封装一个类吗
需要啊,具体的操作你可以和我去后盾人平台看看相关高清教材,这样不就会了,希望能帮到你,给个采纳吧谢谢(*◑㉨◑)☞☜(◐㉨◐*)
㈧ php redis 需要使用单例吗
<?php
/**
* Class RedisConnManager
*
* 单例模式对redis实例的操作的进一步封装
* 主要目的:防止过多的连接,一个页面只能存在一个声明连接
*
* @author :cuihuan
*/
class RedisManager
{
private static $redisInstance;
/**
* 私有化构造函数
* 原因:防止外界调用构造新的对象
*/
private function __construct(){}
/**
* 获取redis连接的唯一出口
*/
static public function getRedisConn(){
if(!self::$redisInstance instanceof self){
self::$redisInstance = new self;
}
// 获取当前单例
$temp = self::$redisInstance;
// 调用私有化方法
return $temp->connRedis();
}
/**
* 连接ocean 上的redis的私有化方法
* @return Redis
*/
static private function connRedis()
{
try {
$redis_ocean = new Redis();
$redis_ocean->connect(G::$conf['redis-host'], G::$conf['redis-port']);
$redis_ocean->auth(G::$conf['redis-pass']);
}catch (Exception $e){
echo $e->getMessage().'<br/>';
}
return $redis_ocean;
}
}
㈨ php 类要用到redis 怎么封装
使用 M/S 的读写集群方案
private $_isUseCluster = false;
// Slave 句柄标记
private $_sn = 0;