这篇文章主要介绍了 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. delphi NativeXml的中文支持 乱码

    一般XML的编码格式设置成UTF8比较通用,下面演示使用UTF8编码方式存储和处理包含中文的XML字符串(文件).1.设置启用内置的widestring支持 NativeXml内部使用ANSI str ...

  2. [FreeProxy]FreeProxy代理服务器端软件介绍 之 sock 5

    首先在FreeProxy上创建一个sock5 service 然后在Client 设置使用sock5

  3. 数学概念——A 几何概型

    You are going from Dhaka to Chittagong by train and you came to know one of your old friends is goin ...

  4. 【C#】详解使用Enumerable.Distinct方法去重

    Enumerable.Distinct 方法 是常用的LINQ扩展方法,属于System.Linq的Enumerable方法,可用于去除数组.集合中的重复元素,还可以自定义去重的规则. 有两个重载方法 ...

  5. bzoj 1602 [Usaco2008 Oct]牧场行走(LCA模板)

    1602: [Usaco2008 Oct]牧场行走 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 379  Solved: 216[Submit][Sta ...

  6. [Locked] Palindrome Permutation I & II

    Palindrome Permutation I Given a string, determine if a permutation of the string could form a palin ...

  7. 嵌套fragment时必须要重写 onDetach()

    /**     * 嵌套fragment时必须要重写 onDetach()如下     */ @Override public void onDetach() { super.onDetach(); ...

  8. MAVEN 工程打包resources目录外的更多资源文件

    首先,来看下MAVENx项目标准的目录结构: 一般情况下,我们用到的资源文件(各种xml,properites,xsd文件等)都放在src/main/resources下面,利用maven打包时,ma ...

  9. 解密HOMS

    一个可以做证券账户多账户和子账户管理软件.早年是提供给基金或者机构使用的,毕竟传统印象中,也只有他们有多个账户需要汇集.单一账户需要拆分. 本来作为专业的工具,在小范围内传播,和大众也没多大关系,行业 ...

  10. Python中 os._exit() sys.exit() exit()区别

    Python退出程序的方式有两种:os._exit(), sys.exit() 1)os._exit() 直接退出 Python程序,其后的代码也不会继续执行. 2)sys.exit() 引发一个 S ...