直接下载,github的仓库
https://github.com/nrk/predis
或者 composer安装
composer require predis/predis
linux Redis服务
是否启动ps aux | grep redis启动./bin/redis-server ./redis.conf关闭./bin/redis-cli shutdown
Redis的默认配置
'host' => '127.0.0.1','port' => 6379
php使用简单流程
require "./predis-1.1/autoload.php";$redis = new Predis\Client([ 'scheme' => 'tcp', 'host' => '127.0.0.1', 'port' => 6379,]);//设置值和获取值try{ $redis->set('update_ucenter_order_time', time()); $lastUpdatTime = $redis->get('update_ucenter_order_time');} catch (Exception $e){ echo $e->getMessage();}print($lastUpdatTime);
Redis支持类型
String: 字符串Hash: 散列List: 列表Set: 集合Sorted Set: 有序集合
linux环境下
whereis redis-cli/usr/local/bin/redis-cli 进入redis-cli127.0.0.1:6379> set name tomOK127.0.0.1:6379> get name"tom"查看所有key值127.0.0.1:6379> keys *
php
$redis->set('name', 'tom');$redis->get('name');
Redis hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象。
linux环境下
127.0.0.1:6379> hmset user name tom age 20 description "i like run..."OK127.0.0.1:6379> hgetall user1) "name"2) "tom"3) "age"4) "20"5) "description"6) "i like run..."127.0.0.1:6379> hget user age"20"
可参考文章:https://www.runoob.com/redis/redis-hashes.html
php
//为user表中的字段赋值。成功返回1,失败返回0。若user表不存在会先创建表再赋值,若字段已存在会覆盖旧值。$redis->hSet('user', 'name', 'tom');$redis->hSet('user', 'age', 20);$redis->hSet('user', 'description', 'i like run...');//获取user表中指定字段的值。若user表不存在则返回false。$redis->hGet('user', 'name');//查看user表的某个字段是否存在,存在返回true,否则返回false。$redis->hExists('user', 'name');//同时设置某个user表的多个字段值。成功返回true。$redis->hMset('user', ['name' => 'jet', 'age' => 18]);//同时获取某个user表的多个字段值。其中不存在的字段值为false。$redis->hMget('user', ['name', 'age']);//获取某个user表所有的字段和值。$redis->hGetAll('user');
Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)
linux下
127.0.0.1:6379> lpush namelist tom kilye wendy(integer) 3127.0.0.1:6379> lrange namelist 0 21) "wendy"2) "kilye"3) "tom"127.0.0.1:6379> del namelist(integer) 1
php
//存储数据到列表中$redis->lpush("namelist", "tom");$redis->lpush("namelist", "kilye");$redis->lpush("namelist", "wendy");// 获取存储的数据并输出$arList = $redis->lrange("namelist", 0 ,2);
Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。
linux下
127.0.0.1:6379> sadd databases redis mongodb(integer) 2127.0.0.1:6379> sadd databases mysql(integer) 1127.0.0.1:6379> sadd databases mysql(integer) 0127.0.0.1:6379> smembers databases1) "mongodb"2) "mysql"3) "redis"127.0.0.1:6379> del databases(integer) 1
php
//加入集合$redis->sAdd('databases', 'redis');$redis->sAdd('databases', 'mongodb');$redis->sAdd('databases', 'mysql');//返回集合$redis->sMembers('databases');//判断集合里是否存在指定元素,是返回true,否则返回false。$redis->sismember('databases', 'mysql');//返回集合中元素的数量。$redis->scard('databases');
https://www.cnblogs.com/junyi-bk/p/10900450.htmlhttps://www.runoob.com/redis/redis-sets.html