这篇文章主要介绍了 30 个 php 操作 redis 常用方法代码例子 , 本文其实不止 30 个方法 , 可以操作 string 类
型、 list 类型和 set 类型的数据 , 需要的朋友可以参考下
redis 的操作很多的,以前看到一个比较全的博客,但是现在找不到了。查个东西搜半天,下面整理一下
php 处理 redis 的例子,个人觉得常用一些例子。下面的例子都是基于 php-redis 这个扩展的。
1 , connect
描述:实例连接到一个 Redis.
参数: host: string , port: int
返回值: BOOL 成功返回: TRUE; 失败返回: FALSE
示例:
复制代码 代码如下 :

<?php
$redis = new redis();
$result = $redis->connect('127.0.0.1', 6379);
var_dump($result); // 结果: bool(true)
?>

2 , set
描述:设置 key 和 value 的值
参数: Key Value
返回值: BOOL 成功返回: TRUE; 失败返回: FALSE
示例:
复制代码 代码如下 :

<?php
$redis = new redis();
$redis->connect('127.0.0.1', 6379);
$result = $redis->set('test',"11111111111");
var_dump($result); // 结果: bool(true)
?>

3 , get
描述:获取有关指定键的值
参数: key
返回值: string 或 BOOL 如果键不存在,则返回 FALSE 。否则,返回指定键对应的 value 值。
范例:
复制代码 代码如下 :

<?php
$redis = new redis();
$redis->connect('127.0.0.1', 6379);
$result = $redis->get('test');
var_dump($result); // 结果: string(11) "11111111111"
?>

4 , delete
描述:删除指定的键
参数:一个键,或不确定数目的参数,每一个关键的数组: key1 key2 key3 ... keyN
返回值:删除的项数
范例:
复制代码 代码如下 :

<?php
$redis = new redis();
$redis->connect('127.0.0.1', 6379);
$redis->set('test',"1111111111111");
echo $redis->get('test'); // 结果: 1111111111111
$redis->delete('test');
var_dump($redis->get('test')); // 结果: bool(false)
?>

5 , setnx
描述:如果在数据库中不存在该键,设置关键值参数
参数: key value
返回值: BOOL 成功返回: TRUE; 失败返回: FALSE
范例:
复制代码 代码如下 :

<?php
$redis = new redis();
$redis->connect('127.0.0.1', 6379);
$redis->set('test',"1111111111111");
$redis->setnx('test',"22222222");
echo $redis->get('test'); // 结果: 1111111111111
$redis->delete('test');
$redis->setnx('test',"22222222");
echo $redis->get('test'); // 结果: 22222222
?>

6 , exists
描述:验证指定的键是否存在
参数 key
返回值: Bool 成功返回: TRUE; 失败返回: FALSE
范例:
复制代码 代码如下 :

<?php
$redis = new redis();
$redis->connect('127.0.0.1', 6379);
$redis->set('test',"1111111111111");
var_dump($redis->exists('test')); // 结果: bool(true)
?>

7 , incr
描述:数字递增存储键值键 .
参数: key value :将被添加到键的值
返回值: INT the new value
实例:
复制代码 代码如下 :

<?php
$redis = new redis();
$redis->connect('127.0.0.1', 6379);
$redis->set('test',"123");
var_dump($redis->incr("test")); // 结果: int(124)
var_dump($redis->incr("test")); // 结果: int(125)
?>

8 , decr
描述:数字递减存储键值。
参数: key value :将被添加到键的值
返回值: INT the new value
实例:
复制代码 代码如下 :

<?php
$redis = new redis();
$redis->connect('127.0.0.1', 6379);$redis->set('test',"123");
var_dump($redis->decr("test")); // 结果: int(122)
var_dump($redis->decr("test")); // 结果: int(121)
?>

9 , getMultiple
描述:取得所有指定键的值。如果一个或多个键不存在,该数组中该键的值为假
参数:其中包含键值的列表数组
返回值:返回包含所有键的值的数组
实例:
复制代码 代码如下 :

<?php
$redis = new redis();
$redis->connect('127.0.0.1', 6379);
$redis->set('test1',"1");
$redis->set('test2',"2");
$result = $redis->getMultiple(array('test1','test2'));
print_r($result); // 结果: Array ( [0] => 1 [1] => 2 )
?>

10 , lpush
描述:由列表头部添加字符串值。如果不存在该键则创建该列表。如果该键存在,而且不是一个列表,
返回 FALSE 。
参数: key,value
返回值:成功返回数组长度,失败 false
实例:
复制代码 代码如下 :

<?php
$redis = new redis();
$redis->connect('127.0.0.1', 6379);
$redis->delete('test');
var_dump($redis->lpush("test","111")); // 结果: int(1)
var_dump($redis->lpush("test","222")); // 结果: int(2)
?>

11 , rpush
描述:由列表尾部添加字符串值。如果不存在该键则创建该列表。如果该键存在,而且不是一个列表,
返回 FALSE 。
参数: key,value
返回值:成功返回数组长度,失败 false范例:
复制代码 代码如下 :

<?php
$redis = new redis();
$redis->connect('127.0.0.1', 6379);
$redis->delete('test');
var_dump($redis->lpush("test","111"));
var_dump($redis->lpush("test","222"));
var_dump($redis->rpush("test","333"));
var_dump($redis->rpush("test","444"));
?>

// 结果: int(1)
// 结果: int(2)
// 结果: int(3)
// 结果: int(4)
12 , lpop
描述:返回和移除列表的第一个元素
参数: key
返回值:成功返回第一个元素的值 ,失败返回 false
范例:
复制代码 代码如下 :

<?php
$redis = new redis();
$redis->connect('127.0.0.1', 6379);
$redis->delete('test');
$redis->lpush("test","111");
$redis->lpush("test","222");
$redis->rpush("test","333");
$redis->rpush("test","444");
var_dump($redis->lpop("test")); // 结果: string(3) "222"
?>

13 , lsize,llen
描述:返回的列表的长度。如果列表不存在或为空,该命令返回 0 。如果该键不是列表,该命令返回
FALSE 。
参数: Key
返回值:成功返回数组长度,失败 false
范例:
复制代码 代码如下 :

<?php
$redis = new redis();$redis->connect('127.0.0.1', 6379);
$redis->delete('test');
$redis->lpush("test","111");
$redis->lpush("test","222");
$redis->rpush("test","333");
$redis->rpush("test","444");
var_dump($redis->lsize("test")); // 结果: int(4)
?>

14 , lget
描述:返回指定键存储在列表中指定的元素。 0 第一个元素, 1 第二个... -1 最后一个元素, -2 的倒数第
二...错误的索引或键不指向列表则返回 FALSE 。
参数: key index
返回值:成功返回指定元素的值,失败 false
范例:
复制代码 代码如下 :

<?php
$redis = new redis();
$redis->connect('127.0.0.1', 6379);
$redis->delete('test');
$redis->lpush("test","111");
$redis->lpush("test","222");
$redis->rpush("test","333");
$redis->rpush("test","444");
var_dump($redis->lget("test",3)); // 结果: string(3) "444"
?>

15 , lset
描述:为列表指定的索引赋新的值 , 若不存在该索引返回 false.
参数: key index value
返回值:成功返回 true, 失败 false
范例:
复制代码 代码如下 :

<?php
$redis = new redis();
$redis->connect('127.0.0.1', 6379);
$redis->delete('test');
$redis->lpush("test","111");
$redis->lpush("test","222");var_dump($redis->lget("test",1)); // 结果: string(3) "111"
var_dump($redis->lset("test",1,"333")); // 结果: bool(true)
var_dump($redis->lget("test",1)); // 结果: string(3) "333"
?>

16 , lgetrange
描述:
返回在该区域中的指定键列表中开始到结束存储的指定元素, lGetRange(key, start, end) 。 0 第一个元素,
1 第二个元素... -1 最后一个元素, -2 的倒数第二...
参数: key start end
返回值:成功返回查找的值,失败 false
范例:
复制代码 代码如下 :

<?php
$redis = new redis();
$redis->connect('127.0.0.1', 6379);
$redis->delete('test');
$redis->lpush("test","111");
$redis->lpush("test","222");
print_r($redis->lgetrange("test",0,-1)); // 结果: Array ( [0] => 222 [1] => 111 )
?>

17,lremove
描述:从列表中从头部开始移除 count 个匹配的值。如果 count 为零,所有匹配的元素都被删除。如果
count 是负数,内容从尾部开始删除。
参数: key count value
返回值:成功返回删除的个数,失败 false
范例:
复制代码 代码如下 :

<?php
$redis = new redis();
$redis->connect('127.0.0.1', 6379);
$redis->delete('test');
$redis->lpush('test','a');
$redis->lpush('test','b');
$redis->lpush('test','c');
$redis->rpush('test','a');
print_r($redis->lgetrange('test', 0, -1)); // 结果: Array ( [0] => c [1] => b [2] => a [3] => a )
var_dump($redis->lremove('test','a',2)); // 结果: int(2)print_r($redis->lgetrange('test', 0, -1)); // 结果: Array ( [0] => c [1] => b )
?>

18 , sadd
描述:为一个 Key 添加一个值。如果这个值已经在这个 Key 中,则返回 FALSE 。
参数: key value
返回值:成功返回 true, 失败 false
范例:
复制代码 代码如下 :

<?php
$redis = new redis();
$redis->connect('127.0.0.1', 6379);
$redis->delete('test');
var_dump($redis->sadd('test','111')); // 结果: bool(true)
var_dump($redis->sadd('test','333')); // 结果: bool(true)
print_r($redis->sort('test')); // 结果: Array ( [0] => 111 [1] => 333 )
?>

19 , sremove
描述:删除 Key 中指定的 value 值
参数: key member
返回值: true or false
范例:
复制代码 代码如下 :

<?php
$redis = new redis();
$redis->connect('127.0.0.1', 6379);
$redis->delete('test');
$redis->sadd('test','111');
$redis->sadd('test','333');
$redis->sremove('test','111');
print_r($redis->sort('test')); // 结果: Array ( [0] => 333 )
?>

20,smove
描述:将 Key1 中的 value 移动到 Key2 中
参数: srcKey dstKey member
返回值: true or false范例
复制代码 代码如下 :

<?php
$redis = new redis();
$redis->connect('127.0.0.1', 6379);
$redis->delete('test');
$redis->delete('test1');
$redis->sadd('test','111');
$redis->sadd('test','333');
$redis->sadd('test1','222');
$redis->sadd('test1','444');
$redis->smove('test',"test1",'111');
print_r($redis->sort('test1')); // 结果: Array ( [0] => 111 [1] => 222 [2] => 444 )
?>

21 , scontains
描述:检查集合中是否存在指定的值。
参数: key value
返回值: true or false
范例:
复制代码 代码如下 :

<?php
$redis = new redis();
$redis->connect('127.0.0.1', 6379);
$redis->delete('test');
$redis->sadd('test','111');
$redis->sadd('test','112');
$redis->sadd('test','113');
var_dump($redis->scontains('test', '111')); // 结果: bool(true)
?>

22,ssize
描述:返回集合中存储值的数量
参数: key
返回值:成功返回数组个数,失败 0
范例:
复制代码 代码如下 :

<?php
$redis = new redis();
$redis->connect('127.0.0.1', 6379);
$redis->delete('test');
$redis->sadd('test','111');
$redis->sadd('test','112');
echo $redis->ssize('test'); // 结果: 2
?>

23 , spop
描述:随机移除并返回 key 中的一个值
参数: key
返回值:成功返回删除的值,失败 false
范例:
复制代码 代码如下 :

<?php
$redis = new redis();
$redis->connect('127.0.0.1', 6379);
$redis->delete('test');
$redis->sadd("test","111");
$redis->sadd("test","222");
$redis->sadd("test","333");
var_dump($redis->spop("test")); // 结果: string(3) "333"
?>

24,sinter
描述:返回一个所有指定键的交集。如果只指定一个键,那么这个命令生成这个集合的成员。如果不存
在某个键,则返回 FALSE 。
参数: key1, key2, keyN
返回值:成功返回数组交集,失败 false
范例:
复制代码 代码如下 :

<?php
$redis = new redis();
$redis->connect('127.0.0.1', 6379);
$redis->delete('test');
$redis->sadd("test","111");
$redis->sadd("test","222");
$redis->sadd("test","333");
$redis->sadd("test1","111");$redis->sadd("test1","444");
var_dump($redis->sinter("test","test1")); // 结果: array(1) { [0]=> string(3) "111" }
?>

25,sinterstore
描述:执行 sInter 命令并把结果储存到新建的变量中。
参数:
Key: dstkey, the key to store the diff into.
Keys: key1, key2... keyN. key1..keyN are intersected as in sInter.
返回值:成功返回,交集的个数,失败 false
范例 :
复制代码 代码如下 :

<?php
$redis = new redis();
$redis->connect('127.0.0.1', 6379);
$redis->delete('test');
$redis->sadd("test","111");
$redis->sadd("test","222");
$redis->sadd("test","333");
$redis->sadd("test1","111");
$redis->sadd("test1","444");
var_dump($redis->sinterstore('new',"test","test1")); // 结果: int(1)
var_dump($redis->smembers('new')); // 结果 :array(1) { [0]=> string(3) "111" }
?>

26,sunion
描述:
返回一个所有指定键的并集
参数:
Keys: key1, key2, ... , keyN
返回值:成功返回合并后的集,失败 false
范例:
复制代码 代码如下 :

<?php
$redis = new redis();
$redis->connect('127.0.0.1', 6379);
$redis->delete('test');
$redis->sadd("test","111");
$redis->sadd("test","222");$redis->sadd("test","333");
$redis->sadd("test1","111");
$redis->sadd("test1","444");
print_r($redis->sunion("test","test1")); // 结果: Array ( [0] => 111 [1] => 222 [2] => 333 [3] =>444 )
?>

27,sunionstore
描述:执行 sunion 命令并把结果储存到新建的变量中。
参数:
Key: dstkey, the key to store the diff into.
Keys: key1, key2... keyN. key1..keyN are intersected as in sInter.
返回值:成功返回,交集的个数,失败 false
范例 :
复制代码 代码如下 :

<?php
$redis = new redis();
$redis->connect('127.0.0.1', 6379);
$redis->delete('test');
$redis->sadd("test","111");
$redis->sadd("test","222");
$redis->sadd("test","333");
$redis->sadd("test1","111");
$redis->sadd("test1","444");
var_dump($redis->sinterstore('new',"test","test1")); // 结果: int(4)
print_r($redis->smembers('new')); // 结果 :Array ( [0] => 111 [1] => 222 [2] => 333 [3] => 444 )
?>

28,sdiff
描述:返回第一个集合中存在并在其他所有集合中不存在的结果
参数: Keys: key1, key2, ... , keyN: Any number of keys corresponding to sets in redis.
返回值:成功返回数组,失败 false
范例:
复制代码 代码如下 :

<?php
$redis = new redis();
$redis->connect('127.0.0.1', 6379);
$redis->delete('test');
$redis->sadd("test","111");$redis->sadd("test","222");
$redis->sadd("test","333");
$redis->sadd("test1","111");
$redis->sadd("test1","444");
print_r($redis->sdiff("test","test1")); // 结果: Array ( [0] => 222 [1] => 333 )
?>

29,sdiffstore
描述:执行 sdiff 命令并把结果储存到新建的变量中。
参数:
Key: dstkey, the key to store the diff into.
Keys: key1, key2, ... , keyN: Any number of keys corresponding to sets in redis
返回值:成功返回数字,失败 false
范例:
复制代码 代码如下 :

<?php
$redis = new redis();
$redis->connect('127.0.0.1', 6379);
$redis->delete('test');
$redis->sadd("test","111");
$redis->sadd("test","222");
$redis->sadd("test","333");
$redis->sadd("test1","111");
$redis->sadd("test1","444");
var_dump($redis->sdiffstore('new',"test","test1")); // 结果: int(2)
print_r($redis->smembers('new')); // 结果 :Array ( [0] => 222 [1] => 333 )
?>

30,smembers, sgetmembers
描述:
返回集合的内容
参数: Key: key
返回值: An array of elements, the contents of the set.
范例:
复制代码 代码如下 :

<?php
$redis = new redis();
$redis->connect('127.0.0.1', 6379);
$redis->delete('test');$redis->sadd("test","111");
$redis->sadd("test","222");
print_r($redis->smembers('test')); // 结果 :Array ( [0] => 111 [1] => 222 )
?>

php-redis 当中,有很多不同名字,但是功能一样的函数,例如: lrem 和 lremove ,这里就不例举了

30 个 php 操作 redis 常用方法代码例子的更多相关文章

  1. 30个php操作redis常用方法代码例子

    From: http://www.jb51.net/article/51884.htm 这篇文章主要介绍了30个php操作redis常用方法代码例子,本文其实不止30个方法,可以操作string类型. ...

  2. 爱漂泊人生 30个php操作redis常用方法代码例子

    http://www.justwinit.cn/post/8789/ 背景:redis这个新产品在sns时很火,而memcache早就存在, 但redis提供出来的功能,好多网站均把它当memcach ...

  3. 30个php操作redis常用方法代码例子【转】

    背景:redis这个新产品在sns时很火,而memcache早就存在, 但redis提供出来的功能,好多网站均把它当memcache使用,这是大才小用,这儿有30个方法来使用redis,值得了解. 这 ...

  4. 30个php操作redis常用方法代码例子(转载)

    1.connect 描述:实例连接到一个Redis.参数:host: string,port: int返回值:BOOL 成功返回:TRUE;失败返回:FALSE示例: $redis = new red ...

  5. php操作redis常用方法代码示例

     redis 的连接 描述:实例连接到一个Redis. 参数:host: string,port: int 返回值:BOOL 成功返回:TRUE;失败返回:FALSE $redis = new Red ...

  6. php redis常用方法代码例子

    1,connect 描述:实例连接到一个Redis.参数:host: string,port: int返回值:BOOL 成功返回:TRUE;失败返回:FALSE 示例: <?php $redis ...

  7. 30个php操作redis经常用法代码样例

    这篇文章主要介绍了30个php操作redis经常用法代码样例,本文事实上不止30个方法,能够操作string类型.list类型和set类型的数据,须要的朋友能够參考下 redis的操作非常多的,曾经看 ...

  8. PHP操作redis的常用例子

    Redis常用的例子 1,connect 描述:实例连接到一个Redis. 参数:host: string,port: int 返回值:BOOL 成功返回:TRUE;失败返回:FALSE 示例: &l ...

  9. 使用jedis操作redis常用方法

    在redis入门及在商城案例中的使用中简单介绍了下使用jedis如何操作redis,但是其实方法是跟redis的操作大部分是相对应的.我这里做下记录 1.String类型操作 public class ...

随机推荐

  1. 搭建ftp环境

    首先明确,ftp站点设置在服务器上,而在客户端上来使用ftp工具来进行上传文件 具体环境搭建如下两个链接,一个server2003,一个是win7 server2003:http://jingyan. ...

  2. iconv gbk字符转utf8字符

    直接上代码 bool gbk2utf8(const char* src, char* dest, size_t inlen) { const char *inbuf = src; size_t out ...

  3. HDOJ 2073 无限的路

    Problem Description 甜甜从小就喜欢画图画,最近他买了一支智能画笔,由于刚刚接触,所以甜甜只会用它来画直线,于是他就在平面直角坐标系中画出如下的图形: 甜甜的好朋友蜜蜜发现上面的图还 ...

  4. 什么是:VGA SVGA XGA SXGA

    经常可以看到VGA这些专业术语,通常这些重要技术指标指的是液晶屏(TFT LCD)的分辨率. TFT是英文Thin Film Transistor的缩写,中文意思是薄膜晶体管. VGA(Video G ...

  5. myeclipse 闪退解决方法

    今天提交一个svn文件发生卡死,然后关闭myeclipse后发生,打开myeclipse出险闪退,摸索半天,发现: 只要修改下工作空间的名称,然后打开myeclipse重新导入即可,只是之前的配置都没 ...

  6. 如何发送HTML表单数据

    多数时候,HTML表单的目的只是为了把数据发给服务器,之后服务器再处理这些数据并发送响应给用户.虽然看起来挺简单的,但我们还是得注意一些事情以确保传送的数据不会破坏服务器.或者给你的用户制造麻烦. 数 ...

  7. [PWA] 18. Clean the photo cache

    We cannot let photo always keep caching new data without clean the old data. If message is not displ ...

  8. 解决Xcode6.0.1编译Unity3Dproject报错

    错误信息大概例如以下 Undefined symbols for architecture i386: "_clock$UNIX2003",.....等 大概就是引用了一个链接库出 ...

  9. Linux TCP队列相关参数的总结

    作者:阿里技术保障锋寒 原文:https://yq.aliyun.com/articles/4252 摘要: 本文尝试总结TCP队列缓冲相关的内核参数,从协议栈的角度梳理它们,希望可以更容易的理解和记 ...

  10. vs2008试用期到期解决办法

    vs2008试用期结束之后,     在“控制面板”中启动“添加删除程序”,      选中Vs2008,点击“更改.删除”,      在出现的维护模式对话框中, 选择下一步,输入下面的CD-Key ...