您的位置:

php连接redis的两种方式,php redis数据类型

本文目录一览:

php 用redis储存session(修改PHP配置文件的),是哪种方式链接redis的

我的习惯是直接修改php.ini

session.save_handler = redis

session.save_path = "tcp://host1:6379?weight=1, tcp://host2:6379?weight=2timeout=2.5, tcp://host3:6379?weight=2persistent=1"

weight 服务器权重

persistent 持久性(整数,应该是1或0)

timeout 超时时长

如何利用PHP访问带有密码的Redis

1. 设置Redis密码,以提供远程登陆

打开redis.conf配置文件,找到requirepass,然后修改如下:

requirepass yourpassword

yourpassword就是redis验证密码,设置密码以后发现可以登陆,但是无法执行命令了。

命令如下:

redis-cli -h 127.0.0.1 -p 6379//启动redis客户端,并连接服务器

keys * //输出服务器中的所有key

报错如下

(error) ERR operation not permitted

这时候你可以用授权命令进行授权,就不报错了

命令如下:

auth youpassword

2. PHP访问Redis

$redis = new Redis();

$conn = $redis-connect('localhost', 6379);

$auth = $redis-auth('20160601'); //设置密码

var_dump($auth);

$redis-set('access_token', "123213213213213213");

$redis-set('expired_time', 1464344863);

var_dump($redis-get("access_token"));

var_dump($redis-get("expired_time"));

php 连接redis,怎么判断Redis是否挂掉

一般链接redis,如果链接不上,或者redis挂掉,都会发生超时,你可以设置超时时间短一点,比如5秒。如果5秒链接不上则不连接了,继续往下,不影响整体代码运行。

?php

$redis = new \Redis();

$redis-connect($config['host'],$config['port'], $config['timeout']);

$redis-ping();    //检测当前链接状态,返回PONG或者抛出异常。

PHP怎么设置链接redis的超时时间

$this-redis-connect($host, $port,3); 3秒连接超时

$this-redis = new Redis();

$this-redis-connect($host, $port);

$this-redis-auth($auth);

这样解决就可以了,简单粗暴

php连接redis是什么服务类型

要在PHP程序中使用Redis,首先需要确保 Redis 的PHP驱动程序和 PHP 安装设置在机器上。可以查看 PHP教程 教你如何在机器上安装PHP。现在,让我们来看看一下如何设置 Redis 的PHP驱动程序。

需要从 github 上资料库:  下载 phpredis。下载完成以后,将文件解压缩到 phpredis 目录。在 Ubuntu 上安装这个扩展,可使用如下图所示的命令来安装。

cd phpredis

sudo phpize

sudo ./configure

sudo make

sudo make install

现在,复制和粘贴“modules”文件夹的内容复制到PHP扩展目录中,并在 php.ini 中添加以下几行。

extension = redis.so

现在 Redis 和 PHP 安装完成。

连接到Redis服务器

?php

   //Connecting to Redis server on localhost

   $redis = new Redis();

   $redis-connect('127.0.0.1', 6379);

   echo "Connection to server sucessfully";

   //check whether server is running or not

   echo "Server is running: " . $redis-ping();

?

当执行程序时,会产生下面的结果:

Connection to server sucessfully

Server is running: PONG

Redis的PHP字符串实例

?php

   //Connecting to Redis server on localhost

   $redis = new Redis();

   $redis-connect('127.0.0.1', 6379);

   echo "Connection to server sucessfully";

   //set the data in redis string

   $redis-set("tutorial-name", "Redis tutorial");

   // Get the stored data and print it

   echo "Stored string in redis:: " . $redis.get("tutorial-name");

?

当执行程序时,会产生下面的结果:

Connection to server sucessfully

Stored string in redis:: Redis tutorial

Redis的PHP列表示例

?php

   //Connecting to Redis server on localhost

   $redis = new Redis();

   $redis-connect('127.0.0.1', 6379);

   echo "Connection to server sucessfully";

   //store data in redis list

   $redis-lpush("tutorial-list", "Redis");

   $redis-lpush("tutorial-list", "Mongodb");

   $redis-lpush("tutorial-list", "Mysql");

   // Get the stored data and print it

   $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键例

?php

   //Connecting to Redis server on localhost

   $redis = new Redis();

   $redis-connect('127.0.0.1', 6379);

   echo "Connection to server sucessfully";

   // Get the stored keys and print it

   $arList = $redis-keys("*");

   echo "Stored keys in redis:: "

   print_r($arList);

?

当执行程序时,会产生下面的结果:

Connection to server sucessfully

Stored string in redis::

tutorial-name

tutorial-list

PHP Redis是使用connect还是pconnect

性能上选择pconnect会快些,一般小网站使用pconnect connect性能相差可以不计,web项目多数慢的是sql查询,懒人就先 connect,避免 pconnect中遇着坑。

pconnect 要注意坑, 因为复用连接,上一次连接设置的中调用会影响下一个连接。

----------------------------------------------------------------

redis 在没有选择库时默认是select 0

如 a请求中 select (2); set('hello', 11)

b请求中 get('hello')

b请求中长连接redis上一次刚好是a请求中使用后, get('hello') 返回的是 第2个库的键值对,而不是默认选择0库中的。