• phpredis 是 redis 的 php 的一个扩展,效率是相当高有链表排序功能,对创建内存级的模块业务关系很有用
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$redis->auth('123456');

key 键

//DEL key [key ...]------删除给定的一个或多个key
$a = $redis->del(array('xrj','ly','fjf'));
//KEYS pattern------查找所有符合给定模式pattern的key
$b = $redis->keys('*');
//RANDOMKEY------从当前数据库中随机返回(不删除)一个key
$c = $redis->randomkey();
//TTL key------以秒为单位,返回给定key的剩余生存时间(TTL, time to live)
//PTTL key------以毫秒为单位,返回给定key的剩余生存时间
$d = $redis->ttl('bbs');
//EXISTS key------检查给定key是否存在,存在,返回1,否则返回0
$e = $redis->exists('email');
//MOVE key db------将当前数据库的key移动到给定的数据库db当中
$f = $redis->move('email',1);
$redis->select(1);
$f = $redis->keys('*');
$f = $redis->move('email',0);
//RENAME key newkey------将key改名为newkey
$g = $redis->rename('email','e-eamil.com');
$g = $redis->rename('e-eamil.com','eamil');
//RENAMENX key newkey------当且仅当newkey不存在时,将key改名为newkey
$h = $redis->renamenx('bbs','bbs1');
//TYPE key------返回key所储存的值的类型
$i = $redis->type('pageview');
//EXPIRE key seconds------给key设置生存时间,当key过期时,它会被自动删除
//PEXPIRE key milliseconds------以毫秒为单位设置key的生存时间
//EXPIREAT key timestamp------命令接受的时间参数是UNIX时间戳,key存活到一个unix时间戳时间
//PERSIST key------移除给定key的生存时间,转换成一个不带生存时间,永不过期的key
//SORT key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC | DESC] [ALPHA] [STORE destination]------返回或保存<br>给定列表、集合、有序集合key中经过排序的元素

String (字符串)相关操作

//SET key value------将字符串值value关联到key,会覆盖
$a = $redis->set('email','jiang@58haha.cn');
//SETNX key value------将key的值设为value,当且仅当key不存在的时候,成功返回1,不成功返回0
$b = $redis->setnx('email','jiang@58haha.cn');
//SETEX key seconds value------将值value关联到key,并将key的生存时间设为seconds(以秒为单位)
$c = $redis->setex('name',10086,'江');
//PSETEX key milliseconds value------命令和SETEX命令相似,它以毫秒为单位设置key的生存时间
$d = $redis->psetex('jiang',90000,'哈哈哈');
//MSET key value [key value ...]------同时设置一个或多个key-value对
$e = $redis->mset(array('ly' => 'liyang', 'fjf' => 'fengjingfeng'));
//MSETNX key value [key value ...]------同时设置一个或多个key-value对,当且仅当所给定key都不存在
$f = $redis->msetnx(array('ly' => 'liyang', 'xrj'=>'xingrongjiang', 'fjf' => 'fengjingfeng'));
//APPEND key value------如果key已经存在并且是一个字符串,APPEND命令将value追加到key原来的值的末尾。如果key不存在,APPEND就像执行SET key value一样
$g = $redis->append('ly','love');
//GET key------返回key所关联的字符串值,如果key不存在那么返回特殊值nil,GET只能用于处理字符串值
$h = $redis->get('ly');
//MGET key [key ...]------返回所有(一个或多个)给定key的值,如果给定的key里面有某个key不存在,那么这个key返回特殊值nil,命令永不失败
$i = $redis->mget(array('email','ly','fjf'));
//GETRANGE key start end------返回key中字符串值的子字符串,字符串的截取范围由start和end两个偏移量决定(包括start和end在内),负数偏移量表示从字符串最后<br>开始计数,-1表示最后一个字符,-2表示倒数第二个 <br>
$j = $redis->getrange('email',0,-1); //从第一个到最后一个,相当于直接get
//GETSET key value------将给定key的值设为value,并返回key的旧值(old value)
$k = $redis->getset('email','jiangzunshao@163.com');
//STRLEN key------返回key所储存的字符串值的长度
$l = $redis->strlen('email');
//DECR key------将key中储存的数字值减一,如果key不存在,那么key的值会先被初始化为0,然后再执行DECR操作
$m = $redis->decr('pageview');
//INCR key------将key中储存的数字值增一,如果key不存在,那么key的值会先被初始化为0,然后再执行INCR操作
$n = $redis->incr('pageview1');
//DECRBY key decrement------将key所储存的值减去减量decrement(可以为负值)
$o = $redis->decrby('pageview',3);
//INCRBY key increment------将key所储存的值加上增量increment(可以为负值)
$p = $redis->incrby('pageview',6);

Hash (哈希表) 相关操作

//HSET key field value------将哈希表key中的域field的值设为value,新建返回1,覆盖返回0
$a = $redis->hset("user","jiang@58haha.cn","{'name':'jiangzunshao','age':25,'work':'php','city':'BeiJing'}");
//HSETNX key field value------将哈希表key中的域field的值设置为value,当且仅当域field不存在的时候. 设置成功,返回1。如果已经存在且没有操作被执行,返回0
$b = $redis->hsetnx("user","jiang@58haha.cn","{'name':'jiangzunshao','age':25,'work':'php','city':'BeiJing'}");
//HGET key field------返回哈希表key中给定域field的值
$c = $redis->hget("user","jiang@58haha.cn");
//HMSET key field value [field value ...]------同时将多个field-value(域-值)对设置到哈希表 key中
$d = $redis->hmset('user',array('name'=>'jiangzunshao', 'age' => 20));
//HMGET key field [field ...]------返回哈希表 key中,一个或多个给定域的值
$f = $redis->hmGet('user', array('name', 'age'));
//HGETALL key------返回哈希表key中,所有的域和值
$g = $redis->hgetall('user');
//HDEL key field [field ...]------删除哈希表key中的一个或多个指定域,不存在的域将被忽略
$h = $redis->hdel('user','age');
//HLEN key------返回哈希表key中域的数量
$i = $redis->hlen('user');
//HEXISTS key field------查看哈希表key中,给定域field是否存在,存在返回1,不存在返回0
$g = $redis->hexists('user','jiang@58haha.cn');
//HINCRBY key field increment------为哈希表key中的域field的值加上增量increment,可以为负
$k = $redis->hincrby('user','pv',5);
//HKEYS key------返回哈希表key中的所有域
$l = $redis->hkeys('user');
//HVALS key------返回哈希表key中所有域的值
$m = $redis->hvals('user');

List (列表) 相关操作

//LPUSH key value [value ...]------将数据插入列表的头部
$redis->lpush('dbs','mongodb-3.2');
//RPUSH key value [value ...]------将数据插入列表的尾部
$redis->rpush('dbs','redis');
//LLEN key------获取列表的长度
$c = $redis->llen('dbs');
//LPOP key------移除并返回列表的头元素
$d = $redis->lpop('dbs');
//RPOP key------移除并返回列表的尾元素
$e = $redis->rpop('dbs');
//LRANGE key start stop------返回列表中指定区间内元素
$f = $redis->lrange('dbs',0,$redis->llen('dbs'));
$f = $redis->lrange('dbs',0,-1);
//LSET key index value------将列表下标为index的元素的值设置为value
$h = $redis->lset('dbs',1,'jiang');
//LTRIM key start stop------列表只保留指定区间内的元素
$i = $redis->ltrim('dbs',3,5);
//LINDEX key index------返回列表中下标为index的元素
$e = $redis->lindex('dbs',$redis->llen('dbs')-1);
//LINSERT key BEFORE|AFTER pivot value------将值value插入到列表当中,位于值pivot之前或之后
$g = $redis->linsert('dbs',Redis::BEFORE,'mysql','mysqlmysql');
$g = $redis->linsert('dbs',Redis::AFTER,'redis','redisredis');
//RPOPLPUSH source destination------命令RPOPLPUSH在一个原子时间内执行以下两个动作:1,将列表source中的最后一个元素(尾元素)弹出,并返回给客户端<br>;<br>2,将source弹出的元素插入到列表destination,作为destination列表的的头元素
$k = $redis->rpoplpush('dbs1','dbs');

Set (集合) 相关操作

//SADD key member [member ...]------将一个或多个member元素加入到集合key当中,已经存在于集合的member元素将被忽略
$a = $redis->sadd('set', 'xingrongjiang');
//SREM key member [member ...]------移除集合key中的一个或多个member元素,不存在的member元素会被忽略
$b = $redis->srem('set','Array');
//SMEMBERS key------返回集合key中的所有成员
$c = $redis->smembers('set');
//SISMEMBER key member------判断member元素是否集合key的成员
$d = $redis->sismember('set','liyang');
//SCARD key------返回集合key的基数(集合中元素的数量)
$e = $redis->scard('set');
//SMOVE source destination member------将member元素从source集合移动到destination集合
$f = $redis->smove('set','set1','xingrongjiang');
//SPOP key------移除并返回集合中的一个随机元素
$g = $redis->spop('set');
//SRANDMEMBER key [count]------如果只提供了key参数,那么返回集合中的一个随机元素;如果count为正数,且小于集合基数,返回一个包含count个元素的数组,数组中<br>的元素各不相同;如果count大于等于集合基数,返回整个集合;如果count为负数,那么命令返回一个数组,数组中的元素可能会重复出现多次,而数组的长度为count的绝对值
$h = $redis->srandmember('set',2);
//SINTER key [key ...]------返回一个集合的全部成员,该集合是所有给定集合的交集
$i = $redis->sinter('set');
//SINTERSTORE destination key [key ...]------类似于SINTER命令,它将结果保存到destination集合,而不是简单地返回结果集
$j = $redis->sinterstore('haha','set');
//SUNION key [key ...]------返回一个集合的全部成员,该集合是所有给定集合的并集
$k = $redis->sunion('set','set1');
//SUNIONSTORE destination key [key ...]------类似于SUNION命令,它将结果保存到destination集合,而不是简单地返回结果集
$l = $redis->sunionstore('haha1','haha','set1');
//SDIFF key [key ...]------返回一个集合的全部成员,该集合是所有给定集合之间的差集
$m = $redis->sdiff('set','set1');

有序集 (Sorted set) 相关操作

//ZADD key score member------向名称为key的zset中添加元素member,score用于排序,如果该元素已经存在,则根据score更新该元素的顺序
$a = $redis->zadd('site', 10, 'google.com');
$a = $redis->zadd('site', 9, 'baidu.com');
$a = $redis->zadd('site', 8, 'sina.com.cn');
//ZREM key member------删除名称为key的zset中的元素member
// $b = $redis->zrem('site','sina.com.cn');
//ZCARD key------返回名称为key的zset的所有元素的个数
$c = $redis->zcard('site');
//ZCOUNT key min max------返回有序集key中,score值在min和max之间的成员的数量
$d = $redis->zcount('site',6,9);
//ZSCORE key member------返回有序集key中,成员member的score值
$e = $redis->zscore('site','baidu.com');
//ZINCRBY key increment member------为有序集key的成员member的score值加上增量increment,返回值就是score加上increment的结果
$f = $redis->zincrby('site',10,'baidu.com');
//ZRANGE key start stop [WITHSCORES]------返回有序集key中,指定区间内的成员,其中成员的位置按score值递增(从小到大)来排序
$j = $redis->zrange('site',0,-1);
$j = $redis->zrange('site',0,-1,true);
//ZREVRANGE key start stop [WITHSCORES]------返回有序集key中,指定区间内的成员,其中成员的位置按score值递减(从大到小)来排列
$h = $redis->zrevrange('site',0,-1);
$h = $redis->zrevrange('site',0,-1,true);

Connection (连接)

//AUTH password------密码认证
$a = $redis->auth('123456');
//PING------查看连接状态
$b = $redis->ping();
//SELECT index------切换到指定的数据库,数据库索引号index用数字值指定,以0作为起始索引值,默认使用0号数据库
$c = $redis->select(1);

Server (服务器)

//TIME------返回当前服务器时间,一个包含两个字符串的列表:第一个字符串是当前时间(以UNIX时间戳格式表示),而第二个字符串是当前这一秒钟已经逝去的微秒数
$a = $redis->time();
//DBSIZE-----返回当前数据库的key的数量
$b = $redis->dbsize();
//BGREWRITEAOF------使用aof来进行数据库持久化
$c = $redis->bgrewriteaof();
//SAVE------将数据同步保存到磁盘
$d = $redis->save();
//BGSAVE------将数据异步保存到磁盘
$e = $redis->bgsave();
//LASTSAVE------返回上次成功将数据保存到磁盘的Unix时戳
$f = $redis->lastsave();
//SLAVEOF host port------选择从服务器
$redis->slaveof('10.0.1.7', 6379);
//FLUSHALL------清空整个Redis服务器的数据(删除所有数据库的所有key)
$redis->flushall();
//FLUSHDB------清空当前数据库中的所有key
$redis->flushdb();
//INFO [section]------返回关于 Redis 服务器的各种信息和统计数值
$g = $redis->info()

更多学习内容可以访问从码农成为架构师的修炼之路

phpredis 扩展之操作 Redis,记下来记下来!的更多相关文章

  1. 利用phpredis实现PHP操作Redis

    redis在PHP中的基本使用案例 利用phpredis实现PHP操作Redis,需要进行redis.so的下载,添加 //利用Redis类进行操作 //实例化Redis类 $redis = new ...

  2. phpredis 报错 “Function Redis::setTimeout() is deprecated” 解决方法

    项目在本地开发过程中抛出异常: Function Redis::setTimeout() is deprecated 找到出错代码: <?php use Illuminate\Support\F ...

  3. Linux下安装Redis php-redis扩展 redis重启shell脚本 超详细!

    前言 前面刚写过nosql其中三款热门产品的对比,这次主要写关于Redis的一些事情,Redis的介绍.安装以及扩展(php-redis,因为我是phper)安装等等.同时是写给我的朋友(cccjjj ...

  4. 通过PHP扩展phpredis操作redis

    我们使用phpredis,这个扩展能让你用PHP操作redis. 源码下载: phpize ./configure ); var_dump($result); echo $redis->get( ...

  5. centos安装redis及php-redis扩展

    centos安装redis及php-redis扩展  Linux, WEB 七162012 今天公司同事要求在测试机上安装redis,并且要求让php安装上redis的扩展,redis是一个key-v ...

  6. linux下Redis与phpredis扩展安装

    ++++++++++++++++++++++++++++++++++++++++++++++linux下Redis与phpredis扩展安装++++++++++++++++++++++++++++++ ...

  7. centos7 安装redis服务及phpredis扩展

    闲话少说 服务器版本:centos7.6 64位 软件包:https://pan.baidu.com/s/1Gb4iz5mqLqNVWvvZdBiOMQ 提取码: xrhx 一.安装redis 放在/ ...

  8. mac 中安装redis 以及 安装php-redis扩展过程详细记录

    1. 通过homebrew 安装 redis sodu brew install redis 2. 安装后执行开启redis,采用默认配置, 默认配置只有本地(127.0.0.1)可以访问.需要远程访 ...

  9. mac 安装redis及phpredis扩展

    下载phpredis扩展安装包.git clone https://github.com/nicolasff/phpredis.git: 解压后,进入该目录: 依次执行以下操作完成安装: /Appli ...

随机推荐

  1. about 蛤蛤

    蛤蛤属于蛤蛤门(haha),蛤蛤纲(haha),蛤蛤亚纲(haha),蛤蛤目(haha),蛤蛤总科(haha),蛤蛤科(haha).

  2. HDFS客户端环境准备

    一.下载Hadoop jar包至非中文路径 下载链接:https://hadoop.apache.org/releases.html 解压至非中文路径 二.配置Hadoop环境变量 配置HADOOP_ ...

  3. 机器学习实战基础(二十五):sklearn中的降维算法PCA和SVD(六) 重要接口,参数和属性总结

    到现在,我们已经完成了对PCA的讲解.我们讲解了重要参数参数n_components,svd_solver,random_state,讲解了三个重要属性:components_, explained_ ...

  4. 数据可视化之分析篇(七)Power BI数据分析应用:水平分析法

    https://zhuanlan.zhihu.com/p/103264851 首先,以财务报表分析为例,介绍通用的分析方法论,整体架构如下图所示: (点击查看大图) 接下来我会围绕这五种不同的方法论, ...

  5. Python函数04/生成器/推导式/内置函数

    Python函数04/生成器/推导式/内置函数 目录 Python函数04/生成器/推导式/内置函数 内容大纲 1.生成器 2.推导式 3.内置函数(一) 4.今日总结 5.今日练习 内容大纲 1.生 ...

  6. RCNN论文阅读笔记

    一摘要: 两个主要工作:1将cnn和自上而下的区域提案结合进行定位和对象分割:2当训练数据稀缺时,先预训练然后微调. rccn工作分为四步:1输入一张图片 2用selective search算法对每 ...

  7. OSCP Learning Notes - File Transfers(2)

    Metasploit Target Server: Kioptrix Level 1 (1) Start the Metasploit on Kali Linux. (2) Set the modul ...

  8. springboot application.yml配置学习

    一.背景 为了更好的使用springboot,所以看一下application.yml配置这块.主要是看数据绑定这块. 主要参考:https://www.hangge.com/blog/cache/d ...

  9. Android Studio报错问题集锦

    Android Studio使用过程中坑太多,动不动就报错,每次出现问题都是上百度去搜索,需要花费很大的时间和精力才能解决掉问题. 为了以后更高效的使用这款工具,在这里记录下来我已经踩过的坑和即将要踩 ...

  10. spring学习(七)spring整合JDBC

    Spring中封装了一个可操作数据库的对象,该对象封装了JDBC技术 使用数据库 一.导包(IDEA的maven工程,在pom.xml文件中导入依赖,必须注意依赖,不然会报各种异常) <?xml ...